请教一个在数据库中存入图像的问题!(100分)

  • 主题发起人 主题发起人 frogking
  • 开始时间 开始时间
F

frogking

Unregistered / Unconfirmed
GUEST, unregistred user!
我想往数据库中存入图像,用Tabel1指向数据库,DataSouse1也进行了相应的设置,
数据库中有一个字段为图像类型。
部分代码如下:
...
procedure TForm1.Button1Click(Sender: TObject);
var graphic1:TGraphic;
begin
graphic1:=TGraphic.Create;
opendialog1.execute;
graphic1.loadfromfile(opendialog1.filename);
//好像这里有问题
table1.insert;
table1.FieldByName('picture').assign(graphic1);
table1.post;
end;
...
能够通过编译,运行时出错。
出错信息如下:Project Project.exe raised exception class EAbstractError with
message 'Abstract Error'. Processs stoped. Use Step or Run to continue.

不知道为什么?望高手指导!!
 
你的picture字段的类型对不对。
 
一个是 TField 一个是 TGraphic 你怎就这样 Assign 了。 晕倒.....

至少是用 CreateBlobStream 创建, Blob 流, 以文件流的形式,
传送blob数据吗!

我的主页有一个将 JPEG 存如数据库的控件,看看其中的代码,对你有帮助!!!

http://oopsware.home.hinaren.com
 
assign是可以的!!我发现原因为
TGraphic is an abstract class that cannot be instantiated.
用TBitmap就可以了!
我想尽快了结提问,送分!
 
后退
顶部