添加两个按钮,一个image控件注意:Access中的photo字段类型为OLE对象.SqlServer中的photo字段类型为Image
'** 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本‘2.5版本以下不支持Stream对象Dim iConcstr As StringDim iConc As ADODB.Connection
'保存文件到数据库中Sub s_SaveFile() Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset Dim iConcstr As String
'读取文件到内容 Set iStm = New ADODB.Stream With iStm .Type = adTypeBinary '二进制模式 .Open .LoadFromFile App.Path + "/test.jpg" End With
'打开保存文件的表 Set iRe = New ADODB.Recordset With iRe .Open "select * from img", iConc, 1, 3 .AddNew '新增一条记录 .Fields("photo") = iStm.Read .Update End With
'完成后关闭对象 iRe.Close iStm.CloseEnd Sub
Sub s_ReadFile() Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset '打开表Set iRe = New ADODB.Recordset‘得到最新添加的纪录 iRe.Open "select top 1 * from img order by id desc", iConc, adOpenKeyset, adLockReadOnly '保存到文件 Set iStm = New ADODB.Stream With iStm .Mode = adModeReadWrite .Type = adTypeBinary .Open .Write iRe("photo")‘这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误. .SaveToFile App.Path & "/test1.jpg" End With
Image1.Picture = LoadPicture(App.Path & "/test1.jpg") '关闭对象 iRe.Close iStm.CloseEnd Sub
Private Sub Command1_Click()Call s_ReadFileEnd Sub
Private Sub Command2_Click()Call s_SaveFileEnd Sub