Delphi2006+Access2003导入图片的问题(200分)

  • 主题发起人 主题发起人 LittleSong
  • 开始时间 开始时间
L

LittleSong

Unregistered / Unconfirmed
GUEST, unregistred user!
MyBitMap:=TPicture.Create;
MYBitMap.LoadFromFile(APath+DSearchRec.Name);
1。
AdoTable.Append;
AdoTable.FieldByName('照片').Assign(MYBitMap.Graphic);
AdoTable.post;
2。
TBlobField(AdoTable.FieldByName('照片')).LoadfromFile(APath+DSearchRec.Name)
3.
AdoTable.Append;
BS:=TADOBlobStream.Create(TBlobField(AdoTable.FieldByName('照片')),bmreadwrite)
BS.LoadfromFile(APath+DSearchRec.Name);
AdoTable.post;

写法1,2似乎能把数据写进去,但打开时Access提示与OLE服务器或ActiveX控件通讯出错
写法3写不进数据,请问是什么原因
 
AdoTable.Append;
BS:=TADOBlobStream.Create(TBlobField(AdoTable.FieldByName('照片')),bmreadwrite)
BS.LoadfromFile(APath+DSearchRec.Name);
BS.free;//加上这个你测试看看?,我是没有根据的。
AdoTable.post;
 
你测试这样的,我曾经这样使用过。而且打开是对的。
MyBitMap:=TPicture.Create;
MYBitMap.LoadFromFile(APath+DSearchRec.Name);
1。
AdoTable.Append;
BS:=TADOBlobStream.Create(TBlobField(AdoTable.FieldByName('照片')),bmreadwrite)MYBitMap.Picture.Graphic.SaveToStream(BS);
BS.free;
AdoTable.post;
 
还是不行,打开出错
 
你怎么打开的?
可以看看你打开的代码吗?
 
进Access打开表,会显示该字段内容为长二进制数据,双击该字段提示Access提示与OLE服务器或ActiveX控件通讯出错
 
明白了。
你试试只有你自己的代码打开试试?
我觉得不会有问题
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
952
SUNSTONE的Delphi笔记
S
后退
顶部