lundi 21 avril 2014

c# - ne peut pas ajouter des images à une base de données à l'aide de mode - Stack Overflow disconnect


I want to add images to my database From winForms application to SQL Server 2008 using disconnected mode in ADO.NET, but I have a problem in this code, I can't add my images to my database


I always get a null value.


EDITED


I have changed my code to this new code :


     string Query;
SqlDataAdapter dataadapter;
DataSet dataset = new DataSet();
OpenFileDialog dialog = new OpenFileDialog();
BindingSource tblname = new BindingSource();
private void la_Load(object sender, EventArgs e)
{

Query = "select * from Imagee ";
dataadapter = new SqlDataAdapter(Query, Connexion.cnx);
dataadapter.Fill(dataset, "tblAddImage");
pictureBox1.DataBindings.Add("Image", dataset, "AjoutImage.imagee");



tblname.DataSource = dataset.Tables["tblAddImage"];
textBox1.DataBindings.Add(new Binding("text", tblname, "Id"));

Binding b = new Binding("Image", tblname, "imagee");

b.Format += new ConvertEventHandler(b_Format);

pictureBox1.DataBindings.Add(b);

dataGridView1.DataSource = tblname;

}
private void b_Format(object sender, ConvertEventArgs e)
{
byte[] b = (byte[])e.Value;

System.IO.MemoryStream ms = new System.IO.MemoryStream(b);

Bitmap bmp = new Bitmap(ms);

ms.Close();

e.Value = bmp;
}
private void Browse_Click(object sender, EventArgs e)
{

dialog.Filter = "JPEG|*.jpg";
if (dialog.ShowDialog() == DialogResult.OK)
{

Image image = Image.FromFile(dialog.FileName);

pictureBox1.Image = image;
}
}

private void buttonAdd_Click(object sender, EventArgs e)
{
//this.BindingContext[dataset, "tblAddImage"].AddNew();
tblname.AddNew();
SqlCommandBuilder sql = new SqlCommandBuilder(dataadapter);
dataadapter.Update(dataset, "tblAddImage");

}

the error now is when i click to add button for adding a new row to my database i have null value inserted and i receive this message


Unable to cast an object of type 'System.DBNull' to type 'System.Byte []'. in this line byte[] b = (byte[])e.Value;



I want to add images to my database From winForms application to SQL Server 2008 using disconnected mode in ADO.NET, but I have a problem in this code, I can't add my images to my database


I always get a null value.


EDITED


I have changed my code to this new code :


     string Query;
SqlDataAdapter dataadapter;
DataSet dataset = new DataSet();
OpenFileDialog dialog = new OpenFileDialog();
BindingSource tblname = new BindingSource();
private void la_Load(object sender, EventArgs e)
{

Query = "select * from Imagee ";
dataadapter = new SqlDataAdapter(Query, Connexion.cnx);
dataadapter.Fill(dataset, "tblAddImage");
pictureBox1.DataBindings.Add("Image", dataset, "AjoutImage.imagee");



tblname.DataSource = dataset.Tables["tblAddImage"];
textBox1.DataBindings.Add(new Binding("text", tblname, "Id"));

Binding b = new Binding("Image", tblname, "imagee");

b.Format += new ConvertEventHandler(b_Format);

pictureBox1.DataBindings.Add(b);

dataGridView1.DataSource = tblname;

}
private void b_Format(object sender, ConvertEventArgs e)
{
byte[] b = (byte[])e.Value;

System.IO.MemoryStream ms = new System.IO.MemoryStream(b);

Bitmap bmp = new Bitmap(ms);

ms.Close();

e.Value = bmp;
}
private void Browse_Click(object sender, EventArgs e)
{

dialog.Filter = "JPEG|*.jpg";
if (dialog.ShowDialog() == DialogResult.OK)
{

Image image = Image.FromFile(dialog.FileName);

pictureBox1.Image = image;
}
}

private void buttonAdd_Click(object sender, EventArgs e)
{
//this.BindingContext[dataset, "tblAddImage"].AddNew();
tblname.AddNew();
SqlCommandBuilder sql = new SqlCommandBuilder(dataadapter);
dataadapter.Update(dataset, "tblAddImage");

}

the error now is when i click to add button for adding a new row to my database i have null value inserted and i receive this message


Unable to cast an object of type 'System.DBNull' to type 'System.Byte []'. in this line byte[] b = (byte[])e.Value;


0 commentaires:

Enregistrer un commentaire