用Delphi的DBImage控件如何读取Access DataBase记录中图形字段(OLE类型)?(100分)

  • 主题发起人 主题发起人 simondpi
  • 开始时间 开始时间
S

simondpi

Unregistered / Unconfirmed
GUEST, unregistred user!
用DBIMAGE通过ADO连接读取Access DataBase记录中图形字段(OLE类型)时, 报错: 'ImageDB
image is not valid', 为什么?
 
因为DBIMAGE控件只能打开BMP格式的图片.
若其它格式,你要经过转换.
 
1.要确定数据库中的图片是 BMP 格式!否则不行。
2.要确定字段是否为 NULL 值。如果是,应该也会出错。
 
我也知道DBImage只能打开bmp文件,但我在Access Database图形字段(OLE类型)插入一个bmp文件, 都还是不行, 不信你们试试看!
 
在Access建一个Database: ImageDB.mdb, 然后建一个表ImageTable,
然后建一个字段Image1(数据类型: OLE 对象),保存后, 插一个bmp图形文件记录;
然后用DBImage 读取Image1字段的记录;出错: 'ImageDB image1 is not valid',
为什么?[:(]
 
var
MS:Tstream;
begin
with adotable1 do
ms:=createblobstream(Fieldbyname('xx'),bmread);
dbimage1.picture.bitmap.loadfromstream(ms);
ms.free
end;
以上方法我刚试过,绝对可以。(图片为*.bmp)
 
To:enteraj, 还是不行!
 
JPEG文件该怎么办呢?
 

Similar threads

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