SqL6.5中Image字段存入Gif图象的问题????????(100分)

  • 主题发起人 主题发起人 wangfu
  • 开始时间 开始时间
W

wangfu

Unregistered / Unconfirmed
GUEST, unregistred user!
在SqL6.5中Image字段存入Gif图象,可是发现150K的图象能存,但是我自己作的
2K的图片就不能存入,提示‘Invalide Blob Length’。我不知道是不是,和图象
的尺寸有关系?请各位帮
var
C: TClipboard;
begin
C := TClipboard.Create;
try
if Clipboard.HasFormat(CF_PICTURE ) then

DBImage1.PasteFromClipboard
else
ShowMessage('剪贴板上没有试题!');
finally
C.Free;
end;
end;
end.帮我。
 
DBImage只支持BMP图象文件。用剪贴板估计也不可以。
回头是岸吧。
 
image字段中存什么文件都可以,用loadfromstream,loadfromfile
 
是剪贴板错误,不是数据库错误!
 
同意chenlh,我用过
 
chenlh:
您的方法,能在网页上显示吗?



 
to chenlh
好象不能直接从数据库将图书显示到WEB上,必须先存在硬盘上再显示出来
 
var
bs: TBlobStream;
begin
bs:= Table1.FieldByName('c1').CreateBlobStream(Table1.FieldByName('c1'), bmWrite);
GifGraphic.SaveToStream(bs);
end;
 
DBImage1.PasteFromClipboard
注意,这句话不管你复制的图像类型,只会保存BMP格式的数据。
即使是一个1K大小的GIF,实际存入数据库时可能会数倍或数十倍于原大小。

出现“Invalide Blob Length”这种错误信息即不是DBImage控件的问题,
也不是SQL Server的问题,而是BDE的事儿。我在各种数据库上都碰到过。
产生的原因有很多种,比如试图保存一个超长的数据。但有一种情况我至今
没搞清原理,就是同样的代码,由于Table或Sql 控件的CacheUpdates和AutoRefresh
属性不同,而有不同的反应。一般来讲,把这两个属性都设为True可以解决。
 
to netbabys & wangfu
要保存到硬盘上再显示
不是咱们的错,delphi在网络方面真是........
 
多人接受答案了。
 

Similar threads

后退
顶部