Boa tarde,

Estou atualizando o banco de 8.4 para 9.3, tenho uma aplicação em delphi7, zeos 6.1.5 e estou com problemas para gravar e carregar imagem.

Servidor linux

CREATE DATABASE leandro
  WITH OWNER = postgres
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'C'
       LC_CTYPE = 'C'
       CONNECTION LIMIT = -1;

CREATE TABLE testeimagem
(
  id integer,
  imagem bytea
)
WITH (
  OIDS=FALSE
);
ALTER TABLE testeimagem
  OWNER TO postgres;
 
 
 
 
 
procedure TForm1.ZConnection1AfterConnect(Sender: TObject);
begin
 
  try
    ZSQLProcessor.Script.Text:= 'SET CLIENT_ENCODING TO ''latin1''';
    ZSQLProcessor.Execute;
  except
  end;
 
  try
    ZSQLProcessor.Script.Text:= 'SET standard_conforming_strings TO OFF' ;
    ZSQLProcessor.Execute;
  except
  end; (**)
 
  try
    ZSQLProcessor.Script.Text:= 'SET bytea_output TO ''ESCAPE''' ;
    ZSQLProcessor.Execute;
  except on e: Exception do
    showMessage( 'Processo Cancelado.'+#13#10+e.Message );
 
 
  end;
  
 
end;
 
 
//para gravar
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 
  ZQuery1.Open;
  
  if OD.Execute then
    begin
      if not (ZQuery1.State in [dsEdit,dsInsert]) then
        ZQuery1.Edit ;
 
      LoadPicture(OD.FileName,ImgLogo) ;
      ZQuery1Imagem.Assign(im_jpeg) ;
 
      ZQuery1.post ;
    end ;
 
 
end;
 
//Para mostrar
procedure TForm1.Button1Click(Sender: TObject);
begin
 
  if not ZQryImagem.IsEmpty then
    LoadImage(ImgLogo, TBlobField(ZQryImagem.FieldByName('imagem')));
 
end;
 
function TForm1.LoadImage(AImage: TImage; ABlobField: TBlobField): Boolean;
var
  JpgImg: TJPEGImage;
  StMem: TMemoryStream;
begin
  if ABlobField.DataSet.IsEmpty then
  begin
    Result := False;
    Exit;
  end;
 
  AImage.Picture.Assign(nil);
  if not (ABlobField.IsNull) and not (ABlobField.AsString = '') then
  begin
    jpgImg := TJPEGImage.Create;
    stMem := TMemoryStream.Create;
    try
      ABlobField.SaveToStream(StMem);
      StMem.Position := 0;
      JpgImg.LoadFromStream(StMem);
      AImage.Picture.Assign(JpgImg);
    finally
      StMem.Free;
      JpgImg.Free;
    end;
  end;
  Result := True;
end;
 
 
Att
 
Leandro
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a