Stclara, blza?!
Talves eu possa te ajudar. Eu uso Postgres 8, zeos, mas com Delphi 7. O tipo de campo do meu bd é bytea e tenho no form um campo dbimage normal que recebe a imagem. e para gravar o registro uso só "tabela.post" e funcioa. O que eu precisei fazer foi instalar o drive odbc do postgres.. faça o download aki: http://wwwmaster.postgresql.org/download/mirrors-ftp/odbc/versions/msi/psqlodbc_08_04_0200.zip espero ter ajudado Richardson Marcelo Freddo. msn: freddodp...@hotmail.com Skype: r.freddo Rondonópolis/MT ________________________________ De: Stclara <stcl...@gmail.com> Para: delphi-br@yahoogrupos.com.br Enviadas: Sexta-feira, 11 de Junho de 2010 11:51:59 Assunto: [delphi-br] Postgres zeos imagem no bd Salve, galera. To usando rad 2010, zeos7 e postgresql 8. No bd criei um campo foto do tipo bytea. No form coloquei um OpenPictureDialog e um buttom para carregar uma imagem (jpg). O código do buttom: procedure TfrmAlunos.SpeedButton1Click(Sender: TObject); var FileStream : TFileStream; BlobStream : TStream; begin inherited; if not (dtsCadastro.DataSet.State in ([dsEdit, dsInsert])) then dtsCadastro.DataSet.Edit; if OpenPictureDialog1.Execute then begin FileStream:=TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead or fmShareDenyWrite); BlobStream:=dtsCadastro.DataSet.CreateBlobStream(dmOPR.cds_alunofoto, bmWrite); try BlobStream.CopyFrom(FileStream,FileStream.Size); finally FileStream.Free; BlobStream.Free; end; end; end; Tenho também um image para mostrar a foto e no onchange do dtsCadastro(datasource): var BlobStream : TStream; JPEGImage : TJPEGImage; begin inherited; if dmOPR.cds_alunofoto.BlobSize <> 0 then begin BlobStream:= dtsCadastro.DataSet.CreateBlobStream(dmOPR.cds_alunofoto, bmRead); JPEGImage:= TJPEGImage.Create; try JPEGImage.LoadFromStream(BlobStream); Image1.Picture.Assign(JPEGImage); finally BlobStream.Free; JPEGImage.Free end; end else Image1.Picture:=nil; end; Bom, carrega a imagem normal e mostra no image sem problemas, só que não grava os dados no bd. Olhando o log, retorna isso: Postgres NOTICE, msg: AVISO: uso de \\ fora do padrão em cadeia de caracteres at character 229 HINT: Utilize a sintaxe de escape de cadeia de caracteres para barras invertidas, i.e., E'\\'. Como posso resolver isto? []'s Stclara. [As partes desta mensagem que não continham texto foram removidas]