读取图片是使用stream流,但是大图片要分块读取数据。 Dim rs As New ADODB.Recordset Dim TempSql As New ADODB.Stream On Error GoTo ine With TempSql .Mode = adModeReadWrite '文件流读写 .Type = adTypeBinary '以二进制格式存储 .Open '.LoadFromFile ("c:\008.JPG") End With rs.Open "select top 1 * from MyPicture", conn, adOpenKeyset If rs.RecordCount > 0 Then Text1.Text = rs.Fields.Item("PictureName").Value TempSql.Write (rs.Fields.Item("Picture").Value) '讲数据写入缓存ADO流 TempSql.SaveToFile Text1.Text Picture1.Picture = LoadPicture(Text1.Text) End If rs.Close Call PicFit 'Call PicF.smallPic(Text1.Text, Picture1, Picture2) Call smallPic GoTo inerr ine: MsgBox Err.Description, , "提示信息" inerr: Set rs = Nothing
Dim rs As New ADODB.Recordset
Dim TempSql As New ADODB.Stream
On Error GoTo ine
With TempSql
.Mode = adModeReadWrite '文件流读写
.Type = adTypeBinary '以二进制格式存储
.Open
'.LoadFromFile ("c:\008.JPG")
End With
rs.Open "select top 1 * from MyPicture", conn, adOpenKeyset
If rs.RecordCount > 0 Then
Text1.Text = rs.Fields.Item("PictureName").Value
TempSql.Write (rs.Fields.Item("Picture").Value) '讲数据写入缓存ADO流
TempSql.SaveToFile Text1.Text
Picture1.Picture = LoadPicture(Text1.Text)
End If
rs.Close
Call PicFit
'Call PicF.smallPic(Text1.Text, Picture1, Picture2)
Call smallPic
GoTo inerr
ine:
MsgBox Err.Description, , "提示信息"
inerr:
Set rs = Nothing