求助:在数据库中,如何给Graphic型的字段赋予一图片(100分)

  • 主题发起人 主题发起人 卓玛
  • 开始时间 开始时间

卓玛

Unregistered / Unconfirmed
GUEST, unregistred user!
在paradox数据库中,如何给Graphic型的字段赋予一图片
 
procedure TForm1.Button2Click(Sender: TObject);
Var
BlobStream:TBlobStream;
JpegImage:TJpegImage;
begin
if OpenPictureDialog1.execute then
image1.picture.LoadFromFile(OpenPictureDialog1.filename);
try
with table1 do
try
edit;
JpegImage:=TJpegImage.Create;
BlobStream:=TBlobStream.Create(TBlobField(FieldByName('p')),bmWrite);
BlobStream.Position:=0;
JpegImage:=TJpegImage(image1.Picture.Graphic);
JpegImage.SaveToStream(BlobStream);
post;
finally
if Not Assigned(BlobStream) then BlobStream.Free;
if Not Assigned(JpegImage) then JpegImage.Free;
end;
except
end;
end;
 
很是感激你
 
可以直接用dbimage控件+Opendialog就搞定啊
 
同意linsb,不过JpegImage:=TJpegImage(image1.Picture.Graphic);改为
JpegImage.assign(image1.Picture.Graphic)是不是要好些?
 
使用:
JpegImage.assign(image1.Picture.Graphic);
会有问题!
 
to linsb
会有什么问题呀?
 
你试试,程序会出错。
 
不会呀,我用的是delphi6.0,一直没有出错呀,很多地方都是这样写的
 
to :卓玛:
试试这个方法。
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
openpicturedialog1.execute;
image1.picture.loadfromfile(openpicturedialog1.filename);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
graphic1:Timage;
begin
graphic1:=Timage.Create(self);
graphic1.picture.loadfromfile(openpicturedialog1.filename);
table1.Open;
table1.insert;
table1.fieldbyname(’id’).asstring:=’121’;
table1.fields[1].assign(graphic1.Picture);
table1.post;
table1.close;
graphic1.free;
end;
 
我的环境是win200 for d5
 
后退
顶部