【发布时间】:2013-02-06 04:31:00
【问题描述】:
为什么这段代码不起作用:
使用此代码保存图像就可以了(我在报告中也看到了图像):
gallery.append;
gallery.FieldByName('Image').Assign(pic.Picture.Bitmap);
gallery.post;
但是这段代码:
Gallery.Insert;
S := CreateBlobStream(gallery.FieldByName('Image'), bmWrite);
Image1.Picture.Bitmap.SaveToStream(S);
gallery.Post;
S.Free;
导致错误“数据集未处于编辑或插入模式”。所以我用了第一个。
但将其恢复为 Timage 中的表单会导致“位图格式无效”
var S : TStream ;
s := gallery.CreateBlobStream(gallery.FieldByName('Image'), bmRead);
Pic.Picture.Bitmap.LoadFromStream(S);
s.Free;
任何图像都会显示错误。我也使用 About.com 的教程尝试了 DBimage 并不断出错。 数据库是 Access 2010,图像字段是 OLE (blob)。 有点卡住了。
s
【问题讨论】:
-
尝试将s的位置设置为0,在从字段读取之后,在加载位图之前,在最后一个sn-p中。
-
` var S : TStream ; s := gallery.CreateBlobStream(gallery.FieldByName('Image'), bmRead); s.位置:= 0; Pic.Picture.Bitmap.LoadFromStream(S); s.免费;还是报错“Bitmap Image is not valid”
-
顺便说一句,大多数教程都说我应该将 JPEG 添加到我的使用中......当我这样做时,我会得到带有错误的红色卷线下划线的 JPEG..所以我认为这些教程已经过时了。
-
字段类型是二进制的吗?
-
数据库是 Access 2010,图像字段是 OLE (blob)。
标签: delphi delphi-xe2