J
Jeronimo Bertran
I am using forms databinding to show an image in the database in a
pictureBox. To do this I am handling the Format event to convert the byte
[] to a bitmap:
Binding bind = new System.Windows.Forms.Binding("Image", this.dataSet1,
"Employee.Image");
bind.Format += new ConvertEventHandler(Image_Format);
private void Image_Format(object sender, ConvertEventArgs e)
{
if (e.Value is System.DBNull)
{
/// How do we handle the DBNull???
return;
}
// e.Value is the original value
Byte[] img = (Byte[]) e.Value;
MemoryStream ms = new MemoryStream();
ms.Write(img, 0, img.Length);
Bitmap bmp = new Bitmap(ms);
ms.Close();
// Writes the new value back
e.Value = bmp;
}
My problem occurs when the value in the database is NULL. if I don't do
anything then I get an Invalid cast from System.DBNull to
System.Drawing.Image. I also tried :
e.Value = (Bitmap) null;
but i get a memory exception
Thanks
Jeronimo
pictureBox. To do this I am handling the Format event to convert the byte
[] to a bitmap:
Binding bind = new System.Windows.Forms.Binding("Image", this.dataSet1,
"Employee.Image");
bind.Format += new ConvertEventHandler(Image_Format);
private void Image_Format(object sender, ConvertEventArgs e)
{
if (e.Value is System.DBNull)
{
/// How do we handle the DBNull???
return;
}
// e.Value is the original value
Byte[] img = (Byte[]) e.Value;
MemoryStream ms = new MemoryStream();
ms.Write(img, 0, img.Length);
Bitmap bmp = new Bitmap(ms);
ms.Close();
// Writes the new value back
e.Value = bmp;
}
My problem occurs when the value in the database is NULL. if I don't do
anything then I get an Invalid cast from System.DBNull to
System.Drawing.Image. I also tried :
e.Value = (Bitmap) null;
but i get a memory exception
Thanks
Jeronimo