Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat mentransmisikan objek dengan tipe 'System.DBNull' ke tipe 'System.Byte[]'.

Karena mungkin saja tidak ada data gambar yang disimpan sebelumnya untuk satu baris, Anda perlu menguji DBNull sebelum mencoba menggunakannya:

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

Perhatikan bahwa DBNull . ini tes berbeda dari yang digunakan Steve. IsDBNull adalah fungsi bahasa sedangkan yang dia gunakan adalah metode DataReader objek, yang juga mengapa ada persyaratan yang berbeda. Namun cara ketiga adalah membandingkannya dengan 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. Masukkan KE MySQL DARI tabel lain

  2. Mysql mengubah mesin tabel MyISAM ke InnoDB

  3. ubah mesin default mysql menjadi innodb

  4. Cara mengatur struktur indeks ElasticSearch dengan beberapa binding entitas

  5. Konfigurasi email dinamis dengan nilai dari database [Laravel]