怎样用vb 的image控件读取ACCESS中以二进制保存的图片

2024-12-19 16:10:13
推荐回答(3个)
回答1:

如果在数据库已经存在这个二进制图片数据,那么:
msRS.Type = adTypeBinary ' msRS 是图片存储、读取记录集对象(msRS As New ADODB.Stream)
msRS.Open
msRS.Write RS!图片
msRS.SaveToFile App.Path & "\A.gif", adSaveCreateOverWrite 'A.gif是图片临时存储文件,在程序根目录必须有这个文件
Image1.Picture = LoadPicture(App.Path & "\A.gif")
msRS.Close

回答2:

转换二进制 读取和保存都有二进制

回答3:

1、从数据库中显示所需要的图片  第一步首先打开数据库,看有没有要查找的内容,有则继续执行,没有就退出
RS.Source = "select * from Info Where Name='" & sparaName &"';"RS.ActiveConnection = "UID=;PWD=;DSN=TestDB;"RS.Open
If RS.EOF Then RS.cCose : Exit Sub   
第二步,读出长二进制数据即图片数据,把它转换成图片文件,操作过程如下
MediaTemp = strPath & "picturetemp.tmp"
DataFile = 1
Open MediaTemp For Binary Access Write As DataFile
lngTotalSize = RS!MyPhoto.ActualSize
Chunks = lngTotalSize \ ChunkSize
Fragment = lngTotalSize Mod ChunkSize
ReDim Chunk(Fragment)
Chunk() = RS!MyPhoto.GetChunk(Fragment)
Put DataFile, , Chunk()
For i = 1 To Chunks
ReDim Chunk(ChunkSize)
Chunk() = RS!MyPhoto.GetChunk(ChunkSize)
Put DataFile, , Chunk()
Next i
Close DataFile   
第三步,关闭数据库,这样就可以显示所要的图片了。
RS.Close
If MediaTemp = "" Then Exit Sub
Picture1.Picture = LoadPicture(MediaTemp)