G
gadfly24
Unregistered / Unconfirmed
GUEST, unregistred user!
我用access,表中的一个字段用来存储图片,设为‘ole对象’,存了一张位图,
可是不知道怎么显示,用dbimage设置好了datafield,可运行时不显示,
有时提示“位图无效”,其他字段能显示。(动态表)
dbmemo1.datafield:=’内容’;
dbmemo2.datafield:=’答案’;
dbimage1.dataField:=’题图’;
dbimage2.dataField:=’答图’;
改用image,用如下代码——
存入:
var
MS: TFileStream;
begin
MS:=TFileStream.Create(OpenpictureDialog1.FileName, fmOpenRead);
Image1.Picture.Bitmap.LoadFromStream(MS);
MS.Free;
。。。。。。。。
var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
TBlobField(FieldbyName('题图')).LoadFromStream(MS);
这样能从openpicturedialog中导入图片,并能存入库中(库中对应字段内容为“长二进制数据”)!
读出:
var
MS: TStream;
begin
MS:=CreateBlobStream(FieldbyName('题图'),bmRead);
image1.Picture.Bitmap.LoadFromStream(MS);
MS.Free;
........
为什么从库中查询符合条件的纪录时,这个字段总不能显示,image1中什么也没有???
大家快帮忙解决吧,十分感激!!!!
可是不知道怎么显示,用dbimage设置好了datafield,可运行时不显示,
有时提示“位图无效”,其他字段能显示。(动态表)
dbmemo1.datafield:=’内容’;
dbmemo2.datafield:=’答案’;
dbimage1.dataField:=’题图’;
dbimage2.dataField:=’答图’;
改用image,用如下代码——
存入:
var
MS: TFileStream;
begin
MS:=TFileStream.Create(OpenpictureDialog1.FileName, fmOpenRead);
Image1.Picture.Bitmap.LoadFromStream(MS);
MS.Free;
。。。。。。。。
var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
TBlobField(FieldbyName('题图')).LoadFromStream(MS);
这样能从openpicturedialog中导入图片,并能存入库中(库中对应字段内容为“长二进制数据”)!
读出:
var
MS: TStream;
begin
MS:=CreateBlobStream(FieldbyName('题图'),bmRead);
image1.Picture.Bitmap.LoadFromStream(MS);
MS.Free;
........
为什么从库中查询符合条件的纪录时,这个字段总不能显示,image1中什么也没有???
大家快帮忙解决吧,十分感激!!!!