Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można rzutować obiektu typu „System.DBNull” na typ „System.Byte[]”.

Ponieważ możliwe jest, że nie ma wcześniej zapisanych danych obrazu dla wiersza, musisz przetestować DBNull przed próbą jego użycia:

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

Zauważ, że ten DBNull test jest inny niż ten, którego używa Steve. IsDBNull jest funkcją językową, podczas gdy ta, której używa, jest metodą DataReader obiekt, dlatego też istnieją różne wymagania. Jednak trzecim sposobem byłoby porównanie go z System.DbNull :

If DBNull.Value.Equals(dr("photo")) = False Then
    ...
End If


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można załadować wtyczki uwierzytelniającej „caching_sha2_password” w Netbean

  2. MySQL wybierz losowy wiersz z JOIN z dwóch tabel

  3. MySQL - liczenie według miesiąca (w tym brakujące rekordy)

  4. Wybierz czas między dwoma razy mysql

  5. 50 najważniejszych pytań do rozmowy kwalifikacyjnej MySQL, które musisz przygotować w 2022 r.