目前即时尝试此代码..我仍然收到错误:参数无效
我想使用vb.net显示来自访问数据库的图像。 我在OLE对象中访问保存图像..我想在PictureBox2.text中显示它 访问图像的列的名称是:PicFile 我可以将数据库中的图像看作长二进制数据,但我无法在VB.net中显示它
Private Sub GetImageFrmDB()
Try
Cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\lenovo\Documents\Final year stuff\BookStoreDb.mdb;")
Cn.Open()
str = "SELECT PicFile FROM Book_data WHERE ISBN='9780486407722'"
Command = New OleDbCommand(str, Cn)
Command.CommandType = CommandType.Text
'Command.Parameters.AddWithValue("@ISBN", Isbn_.Text)
dr = Command.ExecuteReader()
If dr.Read Then
Dim imgByte() As Byte
Try
imgByte = CType(dr("PicFile"), Byte())
Dim stream As New System.IO.MemoryStream(imgByte)
Dim bm As New Bitmap(stream)
stream.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
dr.Close()
Cn.Close()
Command.Dispose()
Cn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
答案 0 :(得分:0)
将数据插入[PicFile]字段的代码未存储图像文件的内容,它存储(本地路径的
这显然不是有效的图片数据,因此尝试使用New Bitmap(stream)
进行转换或在Image.FromStream(stream)
中使用它会触发"参数无效&#34 34;错误,因为stream
(参数)不包含表示有效图像的字节。
因此,您需要修复写入图像数据的代码到数据库中,然后才能修复再次读取它的代码。