Não foi possível converter o objeto do tipo 'System.DBNull' para o tipo 'System.Byte []'.
Quando tento selecionar um item no ListView que não possui imagem no meu banco de dados, este erro mostraUnable to cast object of type 'System.DBNull' to type 'System.Byte[]'.
eu tentei colocar algum código comoisDBNull
ouDBNull
mas é aplicável.
aqui está o meu código:
Private Sub LvPeople_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LvPeople.SelectedIndexChanged
If LvPeople.SelectedItems.Count > 0 Then
Dim connstring As String = "server = localhost; user id = root; database = db; password = root"
Dim Sql As String = "select * from candidate where idn='" & LvPeople.SelectedItems(0).Text & "'"
Dim conn As New MySqlConnection(connstring)
Dim cmd As New MySqlCommand(Sql, conn)
Dim dr As MySqlDataReader = Nothing
conn.Open()
dr = cmd.ExecuteReader()
dr.Read()
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
conn.Close()
End If
End Sub
End Class
o erro aponta aqui:
Dim imagebytes As Byte() = CType(dr("photo"), Byte())
Eu realmente não tenho idéia do que colocar aqui. apenas um novato aqui.