我需要一个代码,用于从vb.net中的访问数据库中检索图像
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim cnn As New OleDbConnection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|datadirectory|\img.mdb"
sql = "select * from picture where ID=" & TextBox2.Text & ""
Dim adp As New OleDbDataAdapter(sql, cnn)
'cmd.CommandText = sql
'cmd.Connection = cn
'sda.SelectCommand = cmd
adp.Fill(dt)
Dim Mydata(0) As Byte
Mydata = CByte(dt.Rows(0)(1))
Dim mr As New MemoryStream(Mydata)
PictureBox1.Image = Image.FromStream(mr)
*** Mydata = CByte(dt.Rows(0)(1))在这一行我有问题.....
答案 0 :(得分:2)
对我来说,行
Mydata = CByte(dt.Rows(0)(1))
触发编译时错误
类型的价值'字节'无法转换为Byte'的一维数组。
如果Option Strict
为Off
,那么CByte()
转换是不必要的。你可以简单地使用
Mydata = dt.Rows(0)(1)
或者,更简洁
Mydata = dt(0)(1)
但是,如果Option Strict
为On
,则上述内容将触发编译时消息
Option Strict On禁止来自'对象'的隐式转换到#By;'的一维数组。
在这种情况下,您需要使用
Mydata = CType(dt.Rows(0)(1), Byte())
或
Mydata = CType(dt(0)(1), Byte())