TQuery中的Blob字段更新(50分)

  • 主题发起人 主题发起人 zhoufujin
  • 开始时间 开始时间
Z

zhoufujin

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表:
abc
Name varchar(10),Image_1 Bolb,Image_2 Blob
用TQuery1 操作这个表
有两个TImage(Image1,Image2),内有JPG图像,
如何用TQuery.SQl去更新Image_1和Image_2字段?
With TQuery1 Do
Begin
Close;
SQL.Clear;
SQl.Add(Update abc set Image_1=:Image_1,Image_2=:Image_2 ');
SQl.Add( 'Where Name=:Name');
Params[0].AsBlob:=????;//AsBlob是STRING类型,如何把Image1.Picture.Graphic与之对应?
Params[1].AsBlob:=????;//AsBlob是STRING类型,如何把Image2.Picture.Graphic与之对应?
Params[2]:='王小虎';
EXECSQL;
End;
各位帮个忙吧
 
应该把图片都转换为数据流式进行保存
先创建一个TStringstream
把图片转到TStringstream
就用Params[0].asstring:=这个Tstringstream 就好了
 
应该是
Params[0].assign(image1.picture);
Params[1]].assign(image1.picture
 
我从前做的一个。
var
MyJPEG : TJPEGImage;
MS: TMemoryStream;
begin
MyJPEG:=TJPEGImage.Create;
Try
MyJPEG.Assign(Image1.Picture.Graphic);
MS:=TMemoryStream.Create;
MyJPEG.SaveToStream(MS);
MS.Position:=0;
ADOQuery1.Append;
ADOQuery1.FieldByName('name').Value:='1';
TBlobField(ADOQuery1.FieldByName('pic')).LoadFromStream(MS);
ADOQuery1.Post;
messagebox(getactivewindow(),'图像保存完毕!','保存',mb_ok);
MS.Free;
Finally
MyJPEG.Free;
end;
end;
 
fbzz88:如果是女孩,我一定爱你,35分归你
懒虫007:不合题意。和其他人共同分15分
 
后退
顶部