图像存储问题?(100分)

  • 主题发起人 主题发起人 hongtaosh
  • 开始时间 开始时间
H

hongtaosh

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:想把一幅图存入Access数据库,按下button1后老说"Invalid BLOB length",(Image字段类型为OLE),请问怎么办?
procedure TForm1.FormShow(Sender: TObject);
begin
Image1.Canvas.Ellipse(50,50,200,200);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
stream:TMemoryStream;
begin
try
stream:=TMemoryStream.Create;
image1.Picture.Bitmap.SaveToStream(stream);
with table1 do
begin
Open;
edit;
TBlobField(table1.FieldByName('Image')).LoadFromStream(stream);
post;
end;
finally
stream.Free;
end;
end;

end.
 
我试拉,没问题呀
 
代码很清晰呀!
Image1中的图像是怎么来的?什么格式?
 
不会吧?
我一共就用了Image1,button1,Datasource1,Table1,dataset1五个控件,
Image1中图像是Formshow时临时画的。
Access数据库也只设了两个字段,一个No 类型:文本
一个Image 类型:OLE
可一按保存就提示“Invalid BLOB length"
谁帮帮忙了?
 
字段名不能设为'Image'换个名
 
换字段名没用的
 
注意stream的Position
 
Stream.Position := 0;
楼主给分吧
 
加上Stream.Position :=0也没有用,
不信你们可以试。;
 
不会吧! 应该没有问题的! 思索中ing……
 
to;hongtaosh
您的问题还没有搞定吗
看用adotable和您上面代码一样的程序,刚搞好的,赶快下,过一会儿我将删除
www.njkc.com.cn/down/save_pic_db.rar
 
to chenshaizi:
非常感谢!
你的那个可以用,我搞不明白的是为什么我的那段代码就通不过?
 
是不是BDE的错误
 
其实 Image这个名字也没有问题,Stream的Position也没有问题

我都试过了,没有这个问题,你把source打个包,或者全部贴上来看看
 
to all :
现在已经没有问题了。
就是BDE的问题,在此对所有人表示感谢.
 
接受答案了.
 

Similar threads

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