Aangezien het mogelijk is dat er nog geen afbeeldingsgegevens zijn opgeslagen voor een rij, moet u testen op DBNull voordat u het probeert te gebruiken:
If IsDBNull(dr("photo")) = False Then
Dim imagebytes As Byte() = CType(dr("photo"), Byte())
Using ms As New IO.MemoryStream(imagebytes)
PictureBox1.Image = Image.FromStream(ms)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End Using
Else
' maybe display a "no Photo Available" stock image
End If
Merk op dat deze DBNull
test is anders dan degene die Steve gebruikt. IsDBNull
is een taalfunctie terwijl degene die hij gebruikt een methode is van de DataReader
object, daarom zijn er ook andere eisen. Een derde manier zou zijn om het te vergelijken met System.DbNull
:
If DBNull.Value.Equals(dr("photo")) = False Then
...
End If