'窗体放一个CommonDialg1,一个Command1(保存图片),一个Command2(读出图片)
'引用 Microsoft ActiveX Data Objects 2.5 Library 或以上版本
'字段myPic为image类型(SQL库)或Ole对象类型(Access库)
'保存图片到数据库
Private Sub Command1_Click()
On Error GoTo err
Dim StmPic As ADODB.Stream
'保存你所选择的文件
Set StmPic = New ADODB.Stream
StmPic.Type = adTypeBinary '指定流是二进制类型
CommonDialog1.ShowOpen
StmPic.Open '将数据获取到Stream对象中
StmPic.LoadFromFile (CommonDialog1.FileName) '将选择的文件加载到打开的StmPic中
rs.AddNew
rs.Fields("myPic").Value = StmPic.Read '从StmPic对象中读取数据
rs.Update
StmPic.Close
Exit Sub
err:
MsgBox err.Description
End Sub
Private Sub Command2_Click()
Dim StmPic As ADODB.Stream
On Error GoTo err
StrPicTemp="c:\temp.jpeg"
Set StmPic = New ADODB.Stream
With StmPic
.Type = adTypeBinary
.Open
.Write rs.Fields("myPic") '写入数据库中的数据至Stream中
.SaveToFile StrPicTemp, adSaveCreateOverWrite '将Stream中数据写入临时文件中(C:\temp.doc)
.Close
End With
Exit Sub
err:
MsgBox err.Description
End Sub