procedure TForm1.DBImage1Click(Sender: TObject);
begin
//DM.Person_infoADO.Locate('ID','101',[]);
if OpenDialog1.Execute then
begin
DM.Person_infoADO.Edit;
DM.Person_infoADOPicture.LoadFromFile(OpenDialog1.FileName);
end;
end
以上程序是别人代码里用于完成图片的保存功能的,有关联的控件有ADOConnection1,ADOTable,DataSource,DBImage和OpenDialog。可是我用的时候总是报这句有错误:DM.Person_infoADOPicture.LoadFromFile(OpenDialog1.FileName);
我改成
DM.Person_infoADO['Picture'].LoadFromFile(OpenDialog1.FileName);
后,不报语法错误可是在保存图片时会报'Invalid variant operation'这句错误。
之后我对OpenDialog的Filter添加图片的格式,在语句中加入DM.Person_infoADO.Locate('ID','101',[]);依然没有用。总是报'Invalid variant operation'这个错误。
对此我仔细研究对方代码依然没有结果,请高手指点一二。
Thank you。
begin
//DM.Person_infoADO.Locate('ID','101',[]);
if OpenDialog1.Execute then
begin
DM.Person_infoADO.Edit;
DM.Person_infoADOPicture.LoadFromFile(OpenDialog1.FileName);
end;
end
以上程序是别人代码里用于完成图片的保存功能的,有关联的控件有ADOConnection1,ADOTable,DataSource,DBImage和OpenDialog。可是我用的时候总是报这句有错误:DM.Person_infoADOPicture.LoadFromFile(OpenDialog1.FileName);
我改成
DM.Person_infoADO['Picture'].LoadFromFile(OpenDialog1.FileName);
后,不报语法错误可是在保存图片时会报'Invalid variant operation'这句错误。
之后我对OpenDialog的Filter添加图片的格式,在语句中加入DM.Person_infoADO.Locate('ID','101',[]);依然没有用。总是报'Invalid variant operation'这个错误。
对此我仔细研究对方代码依然没有结果,请高手指点一二。
Thank you。
检查看看http://lysoft.7u7.net
保存Image1中的图象至数据库 :
var
Ms:TmemoryStream;
jpg:Tjpegimage;
begin
ms:=TmemoryStream.Create;
Jpg.Assign(Image1.Picture.Graphic);
Jpg.SaveToStream(Ms) ;
Ms.Position :=0;
ADOquery1.append;
TBlobField(ADOquery1.FieldByName('img')).LoadFromStream(Ms);
ADOquery1.Post;
Ms.Free ;
jpg.free;
end;
从数据库中读取图象到image2中:
Var
Ms:TStringStream;
jpg:Tjpegimage;
begin
Ms:=TstringStream.Create('');
TBlobField(ADOquery1.FieldByName('img')).SaveToStream(Ms);
Ms.Position :=0;
Jpg.LoadFromStream(Ms);
Image2.Picture.Assign(Jpg);
Ms.Free;
jpg.free;
end;///也许楼主需要,看吧!..
请问楼上的,你用了哪些控件。
这样的参数进去啊。哭啊!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
TBlobField是Blob字段类型(定义在DB.pas单元)如果引用出错,则需要 USES DB