Bmp文件怎样存入ACCESS库表中的OLE字段(50分)

  • 主题发起人 主题发起人 che_h
  • 开始时间 开始时间
JPG都存入BLOB了,BMP不行?

 
在下偷个懒,各位大侠能否施舍具体原程序,谢谢谢谢!
 
各位大虾行行好,我是新手,单位又催得紧,劳驾了!!!
 
最简单的,使用DBImage,应该可以保存BMP的信息,
》》Bmp文件怎样存入ACCESS库表中的OLE字段
你可以搜寻一下以前的问题,有非常多的答案,
我有段时间是专门回答这类问题 OLE ,你也可以查询一下我
以前的回答~
 
》》HSW
我已经给你去了封邮件(thtfhsw@371.net),望能尽快回复,拜托拜托!
 
var
bs:Tstream;
begin
dataset.edit;
bs:=dataset.Createblobstream(dataset.fieldbyname('BlobField'),bmReadWrite);
Bitmap.savetostream(bs);
// bs.free;在三层结构中必须
dataset.post;
end;
还有为题吗?
 
承蒙各位的关照,我在把BMP文件存入ACCESS库中的OLE字段时,OLE字段上显示
是“长二进制数据”(我的原意应该显示“BMP图象”),在ACCESS环境下双击该
字段,却显示“在Microsoft Access 与OLE服务器通讯时出现问题。”
在下的程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var s:tfilestream;
begin
s:=tfilestream.create('c:/picturedate/mainp.bmp',fmopenread);
S.Seek(0,soFromBeginning);
table1.Append;
table1.edit;
Tblobfield(table1.Fieldbyname('1')).loadfromstream(s);
table1.Post;
s.free;
end;

在下用lbwave的方法也是如此:
procedure TForm1.Button1Click(Sender: TObject);
var s:Tstream;
begin
table1.Append;
table1.edit;
s:=table1.createblobstream(table1.fieldbyname('1'),bmReadWrite);
image1.picture.bitmap.savetostream(s);
table1.Post;
s.free;
end;

不知是何原因,望大侠能及时给予答复,谢谢!
关键是:我的意图是想在ACCESS环境中能双击时打开OLE字段
 
1.可将TFileStream改为TMemoryStream较好
2.TStream是个虚类,其中的方法都是虚方法,你应该用它的派生类:如TMemoryStream,TFileStream
 
》》only you
一样一样一样的啊,问题依旧,还是显示为“二进制数据”,在ACCESS环境中双击此字段,
仍是同样的信息:“在Microsoft Access 与OLE服务器通讯时出现问题。”,帮帮我,我
快急疯了!!!!!
 
附加功能 将问题提前
 
实在不行就干脆用一个dbimage和这个字段相连,然后用剪贴版粘贴进去。
 
登记日期: 00-7-14 22:38:53, 上次进入: 00-8-24 23:50:19
 
后退
顶部