2,498
社区成员
发帖
与我相关
我的任务
分享
sqlquery1.SQL.Text:='insert into db_zp(编号,代码,照片,修改日期) values(:a,:b,:c,:d)';
sqlquery1.Params.ParamByName('a').Value:='001';
sqlquery1.Params.ParamByName('b').Value:='bh00001'
sqlquery1.Params.ParamByName('c').LoadFromFile(fimage,ftBlob);
sqlquery1.Params.ParamByName('d').Value:=formatdatetime('YYYYMMDDHHMMSS',NOW);
try
sqlquery1.ExecSQL;
except
application.MessageBox(' 错误: 照片数据库添加资料失败 ','信息',MB_OK);
exit;
end;
var
jpg : TJpegImage;
ImgFile : string;
srm:TStringStream;
blob:TStream;
begin
ImgFile := ExtractFilePath(Application.ExeName)+'\Photo\'
+ eJGRYF.Qry1.FieldByName('gongwy_id').AsString +'.jpg';
try
srm:=TStringStream.create('');
with eJGRYF.Qry1 do
begin
Close;
SQL.Clear;
SQL.Text:='Select * From gongwy_photo Where ( GONGWY_ID = '''
+ DM.GWYQ.FieldByName('GONGWY_ID').AsString + ''')' ;
Open;
First;
blob:=eJGRYF.Qry1.CreateBlobStream(FieldByName('GONGWY_PHOTO_FILE'),bmRead);
blob.Seek(0,soFromBeginning);
Showmessage(inttostr(blob.Size));
//TBlobField(FieldByName('GONGWY_PHOTO_FILE')).SaveToStream(srm);//这里还是显示“Invalid Class Typecast”的错误
//srm.position:=0;
//eJGRYF.img1.picture.graphic.loadfromstream(srm);
end;
finally
srm.free;
eJGRYF.img1.picture.SaveToFile(ImgFile);
end;
end;
TADOQuery.Edit;
TblobField(TADOQuery.FieldByName('FieldName')).LoadFromFile('文件名');
filestream := tfilestream.create(filename,fmopenread);
TblobField(TADOQuery.FieldByName('FieldName')).LoadFromStream(filestream);
TADOQuery.Post;
TblobField(TADOQuery.FieldByName('FieldName')).SaveToFile('文件名');
memorystream := tmemorystream.create;
TblobField(TADOQuery.FieldByName('FieldName')).SaveToStream(memorystream);
jpg := tjpegimage.create;
jpg.loadfromstream(memorystream);