vb6.0 怎样用image控件读取ACCESS中以二进制保存的图片 20

本人新手,最好详细一点。急急急!!!!!!!!!!!!... 本人新手,最好详细一点。
急急急!!!!!!!!!!!!
展开
 我来答
兆珈蓝茂2F
2013-09-17
知道答主
回答量:3
采纳率:0%
帮助的人:4176
展开全部
Dim con As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim ChunkSize As Long, Chunks As Long, Chunk() As Byte
Dim i As Integer, j As Integer, MediaTemp As String
ChunkSize = 10000
For i = 1 To List1.ListCount - 1
If Len(Dir(dbPath + "img\" + List1.List(i), vbDirectory)) = 0 Then MkDir (dbPath + "img\" + List1.List(i))
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + List1.List(i) + ".mdb;Persist Security Info=False"
con.Open
RS.Source = "select * from [Images] order by ID"
RS.ActiveConnection = con
RS.Open
If RS.EOF Then
RS.Close
Exit Sub
End If
Do While Not RS.EOF
'第二步,读出长二进制数据即图片数据,把它转换成图片文件,操作过程如下
MediaTemp = dbPath + "img\" + List1.List(i) + "\" + RS.Fields
DataFile = 1
Open MediaTemp For Binary Access Write As DataFile
lngTotalSize = RS!PIC.ActualSize
Chunks = lngTotalSize / ChunkSize
Fragment = lngTotalSize Mod ChunkSize
ReDim Chunk(Fragment)
Chunk() = RS!PIC.GetChunk(Fragment)
Put DataFile, , Chunk()
For j = 1 To Chunks
ReDim Chunk(ChunkSize)
Chunk() = RS!PIC.GetChunk(ChunkSize)
Put DataFile, , Chunk()
Next j
Close DataFile
RS.MoveNext
Loop
'第三步,关闭数据库,这样就可以显示所要的图片了。
RS.Close
con.Close
Next i
MsgBox "OK!"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式