DataBind DBNull Image

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
 
J

Jeronimo Bertran

Yes, I tried setting e.Value to null but I later get a memory exception.
 
G

Guest

You could create a 1px gif image that would become the placeholder for that
image box if the field is null. Or, create a standard image file that a user
can see if there is not image avaliable. Use either case as the image source
for the picture box
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top