चूंकि यह संभव है कि किसी पंक्ति के लिए पहले से कोई छवि डेटा सहेजा नहीं गया है, इसलिए इसका उपयोग करने का प्रयास करने से पहले आपको DBNull के लिए परीक्षण करने की आवश्यकता है:
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
ध्यान दें कि यह DBNull
टेस्ट स्टीव द्वारा उपयोग किए जा रहे टेस्ट से अलग है। IsDBNull
एक भाषा फ़ंक्शन है, जबकि वह जिसका उपयोग कर रहा है वह DataReader
. की एक विधि है वस्तु, यही कारण है कि विभिन्न आवश्यकताएं भी हैं। फिर भी तीसरा तरीका यह होगा कि इसकी तुलना System.DbNull
. से की जाए :
If DBNull.Value.Equals(dr("photo")) = False Then
...
End If