我正在尝试使用id显示用户图像;它会引发异常
从'Byte()'类型到'Byte'类型的转换无效。
删除图片代码时;它的工作正常,显示其他数据。
If rdbtninvestigator.Checked = True Then
Dim mycmd1 As New SqlCommand("Select * From investigator where id=@id ", connection)
mycmd1.Parameters.Add("@id", SqlDbType.VarChar).Value = txtid1.Text
Dim table As New DataTable
Dim adapter As New SqlDataAdapter(mycmd1)
adapter.Fill(table)
If table.Rows.Count > 0 Then
lblid.Text = table.Rows(0)(0).ToString()
lblname.Text = table.Rows(0)(1).ToString()
lblusername.Text = table.Rows(0)(2).ToString()
txtpassword.Text = table.Rows(0)(3).ToString()
Dim img As Byte
img = table.Rows(0)(4)
Dim ms As New MemoryStream(img)
picuser.Image = Image.FromStream(ms)
btnupdate.Enabled = True
btndelete.Enabled = True
Else
MsgBox("Account does not exist")
btnupdate.Enabled = False
btndelete.Enabled = False
End If
答案 0 :(得分:1)
存储在数据库中的图像存储为字节数组。您收到的错误消息说您正在尝试将图像存储在字节变量中,而不是字节数组中。
您需要添加/更正的代码行是:
Dim image As Byte()
该行创建一个类型Byte()
的变量,一个字节数组。