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