delphi數據庫存儲圖片

--存 
sql

str_sql := 'update photo set photo = :photo ';
  str_sql := str_sql + ' where sex = ''女''';
  with qry_for_show do
  begin
    Close;
    SQL.Clear;
    SQL.Add(str_sql);
    Parameters.ParamByName('photo').Assign(img2.Picture.Graphic);
    ExecSQL;
  end;ide


--讀圖片

procedure Tfrmpicsave.BitBtn1Click(Sender: TObject);
var
  Stream:TMemoryStream;
  Jpg:TdxPNGImage;
begin
  qry_for_show.Close;
  qry_for_show.SQL.Text:='SELECT * FROM HLDJPHOTO';   // 查詢圖片
  qry_for_show.Open;
  if not qry_for_show.FieldByName('photo').IsNull then
  begin
    Stream:=TMemoryStream.Create ;
    Jpg:=TdxPNGImage.Create ;
    TBlobField(qry_for_show.FieldByName('photo')).SaveToStream(Stream);    // 顯示的轉換爲BlobField並保存到內存流
        TBlobField(qry_for_show.FieldByName('photo')).SaveToFile(ExtractFilePath(Application.ExeName) + 'www');    // 顯示的轉換爲BlobField並保存到內存流
    Stream.Position :=0;

    jpg.LoadFromStream(Stream);    // 加載圖片

    p_w_picpath1.Picture.Assign(Jpg);
  end
  else
  begin
    p_w_picpath1.Picture :=nil;
  end;

    Stream.Free;

    Jpg.Free;
end;內存