首先,添加引用Microsoft ActiveX Data Objects 2.5 Library
例1:把图片文件存入数据库
Dim cn As New ADODB.Connection
cn.Open "DBQ=E:\db.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Dim s As New ADODB.Stream
Dim rs As New ADODB.Recordset
rs.Open "图片表", cn, adOpenDynamic, adLockOptimistic, adCmdTable
s.Type = adTypeBinary
s.Open
s.LoadFromFile "e:\Camcord.bmp"
rs.AddNew
rs.Fields("image").Value = s.Read()
rs.Update
例2:把数据库中的图像数据导出为文件
Dim cn As New ADODB.Connection
cn.Open "DBQ=E:\db.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Dim s As New ADODB.Stream
Dim rs As New ADODB.Recordset
rs.Open "图片表", cn, adOpenDynamic, adLockOptimistic, adCmdTable
s.Type = adTypeBinary
s.Open
s.Write rs.Fields("image").Value
s.SaveToFile "e:\xxx.bmp"
注:1.图片表的image字段类型为OLE 对象。
2.可以看出,这种方法并非只能用来存放图片文件,实际上任何文件都可以通过这种方法存入数据库,只不过好像没什么必要这么做。实际上,如果图片很大数量又多,存入数据后,浏览速度会变得很慢,不如改为存放文件路径。
例1:把图片文件存入数据库
Dim cn As New ADODB.Connection
cn.Open "DBQ=E:\db.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Dim s As New ADODB.Stream
Dim rs As New ADODB.Recordset
rs.Open "图片表", cn, adOpenDynamic, adLockOptimistic, adCmdTable
s.Type = adTypeBinary
s.Open
s.LoadFromFile "e:\Camcord.bmp"
rs.AddNew
rs.Fields("image").Value = s.Read()
rs.Update
例2:把数据库中的图像数据导出为文件
Dim cn As New ADODB.Connection
cn.Open "DBQ=E:\db.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Dim s As New ADODB.Stream
Dim rs As New ADODB.Recordset
rs.Open "图片表", cn, adOpenDynamic, adLockOptimistic, adCmdTable
s.Type = adTypeBinary
s.Open
s.Write rs.Fields("image").Value
s.SaveToFile "e:\xxx.bmp"
注:1.图片表的image字段类型为OLE 对象。
2.可以看出,这种方法并非只能用来存放图片文件,实际上任何文件都可以通过这种方法存入数据库,只不过好像没什么必要这么做。实际上,如果图片很大数量又多,存入数据后,浏览速度会变得很慢,不如改为存放文件路径。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货