看看吧
procedure TF_B_Gssgrd.DBImage_ZPClick(Sender: TObject);
{更新照片}
begin
if MessageDlg('更新照片?',mtConfirmation, [mbYes, mbCancel], 0) = mrYes then
begin
{从《参保人员情况登记表》(CB_RY)中更新照片}
with DataModule_GS.Query_CBRY do
begin
Close;
UnPrepare;
SQL.Clear;
SQL.Add('select ZP from CB_RY where SBHM=:SBHM and GSSCCBSJ IS NOT NULL');
ParamByName('SBHM').Asstring:=DBEdit_SBHM.Text;
Prepare;
Open;
end;{with_CBRY}
if DataModule_GS.Query_CBRY.FieldByName('ZP').AsString='' then
DBImage_ZP.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'SB_Photo\无照片.BMP')
else
DBImage_ZP.Picture:=DBImage_CBRY.Picture;
DataModule_GS.Query_CBRY.Close;
end;
end;
procedure TF_B_Gssgrd.DBImage_ZPClick(Sender: TObject);
{更新照片}
begin
if MessageDlg('更新照片?',mtConfirmation, [mbYes, mbCancel], 0) = mrYes then
begin
{从《参保人员情况登记表》(CB_RY)中更新照片}
with DataModule_GS.Query_CBRY do
begin
Close;
UnPrepare;
SQL.Clear;
SQL.Add('select ZP from CB_RY where SBHM=:SBHM and GSSCCBSJ IS NOT NULL');
ParamByName('SBHM').Asstring:=DBEdit_SBHM.Text;
Prepare;
Open;
end;{with_CBRY}
if DataModule_GS.Query_CBRY.FieldByName('ZP').AsString='' then
DBImage_ZP.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'SB_Photo\无照片.BMP')
else
DBImage_ZP.Picture:=DBImage_CBRY.Picture;
DataModule_GS.Query_CBRY.Close;
end;
end;
PicStream:TMemoryStream;
-----------------------------
PicStream:=TMemoryStream.Create PicStream.LoadFromFile(FileNamebyPath);
//或img.picture.bitmap.SaveToStream(PicStream); Query1.ParamByName('pic').LoadFromStream(PicStream,ftBlob); PicStream.free;
AStream: TStream;
begin
AStream := TStream.Create;
Image1.SaveToStream(AStream);
TBlobField(Table1.Fields[1]).LoadFormStream(AStream);
Table1.Post;
end;
{保存word文档}
procedure TFrm_kj_kfxm_sqs.Button2Click(Sender: TObject);
var memorystream:Tmemorystream;
begin
inherited;
memorystream := tmemorystream.Create;
//保存
try
OleContainer.SaveToStream(memorystream1);
MemoryStream.Position:= 0;
cds_data.edit;
TblobField(cds_data.FieldByName('sqwd')).LoadFromStream(MemoryStream1);
cds_data.Post;
finally
memorystream.Free;
end;
//显示
try
TblobField(cds_data.FieldByName('sqwd')).SaveToStream(Memorystream2);
MemoryStream2.Position:= 0;
OleContainer2.Show;
OleContainer2.LoadFromStream(memorystream2);
finally
memorystream2.Free;
end;
end;
=====
csdn上以前的贴子很多,自己看看吧。
使用stream:var
ss:TMemoryStream
--------------------
ss:=TMemoryStream.Create
ss.LoadFromFile(FileNameByPath)保存:Adoquery1.Parameters.ParamByName('CC').LoadFromStream(ss, ftBlob);
ss.free;
以下是我的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
PicStream:TMemoryStream;
begin
PicStream:=TMemoryStream.Create;
PicStream.LoadFromFile('E:\picture\aa.bmp');
Adoquery1.Parameters.ParamByName('contant').LoadFromStream(PicStream, ftBlob);
PicStream.free;
end;
--------
以上我回答的所有地方有个误笔:SaveToStream(PicStream, ftBlob);或SaveToFile(FileNameByPath, ftBlob);改为:
SaveToStream(PicStream);SaveToFile(FileNameByPath)
Adoquery1.Parameters.ParamByName('Pic').LoadFromStream(PicStream, ftBlob);adoquery1.ExecSQL;是执行SQL语句呀!取出:
adoquery1.SQL.Text:='select * from Table';
adoquery1.open;
(Adoquery1.FieldByName('图片字段') as TBlobField).SaveToStream(PicStream);img.picture.bitmap.LoadFromStream(PicStream);