【200分】access数据库.mdb查看长二进制图片

需要导出mdb文件里的二进制图片如图需要导出picsource列下的图片另外50分成功后追加... 需要导出mdb文件里的二进制图片
如图需要导出picsource列下的图片
另外50分成功后追加
展开
 我来答
百度网友2c7da64
2009-10-28 · TA获得超过326个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:229万
展开全部

见如下部分代码,我已试过可以提取文件,也可自己编辑一下,实现循环取图等等!

提供一下excel文件下载网址,自己研究下吧!

Sub GetPic()

Dim adoCnn

Dim adoRs

Dim strSql As String, strDataSource As String  '<==打开数据库用的字符串变量

Dim strImgFile As String '<==图像文件名字

Dim lngImgSize As Long  '<==数据库里的图像字节长度

Dim binImg() As Byte  '<==用来取图像的二进制文件

Set adoCnn = CreateObject("adodb.connection")

Set adoRs = CreateObject("adodb.recordset")

strDataSource = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & ThisWorkbook.Path & "\取出相片.mdb"

adoCnn.Open strDataSource

strSql = "Select * from 数据"

adoRs.Open strSql, adoCnn

'以上 ADO一般操作 自已研究

strImgFile = ThisWorkbook.Path & "\temp.jpg" '临时图像文件起名为TEMP,喜欢什么随意

'应该注意的是,你这个数据,其实是JPG,应该起什么后缀,请试过以后再说

adoRs.MoveFirst   '<===从第一行记录开始,要全部遍历,请做MOVENEXT到EOF的循环

'下面只演示取第一个记录的图像

zxw6720
2009-10-28 · 超过16用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:42.3万
展开全部
你的需求貌似是自动导出所有的图片吧?用delphi编程。
我来给你解答下:大体思路如下
1、建立一个form,在form上加入一个图像显示控件和一个按钮、adoconnction1,query1
2、双击按钮进行代码输入
procedure TForm1.Button1Click(Sender: TObject);
var tempstream:TStringStream;
tempjpeg:TJPEGImage;
aa:integer ;bb:string;
begin
aa :=1 ;
query1.open ;
query1.first ;
while not query1.eof() then
begin
bb:='pict'+inttostr(aa)+'.jpg'
try
tempstream:=TStringStream.Create('PicSource ');
TBlobField(Query1.FieldByName('PicSource')).SaveToStream(tempstream);
tempstream.Position:=0;
tempjpeg:=TJPEGImage.Create;
tempjpeg.LoadFromStream(tempstream);
Image1.Picture.Bitmap.Assign(tempjpeg);
image1.Picture.SaveToFile(bb);
finally

tempstream.Free;
tempjpeg.Free;
end;
aa:= aa+1 ;
query1.next ;
end; ///while
query1.close;
end ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式