Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Regis_JP

Imagem no postgre

Recommended Posts

Desculpas pelos Up !Olha, em um poste anterior ja me ajudaste a tratar uma imagem, reduzindo seu tamanho, contudo não consegui grava-la na base postgre.Estou usando um Tdbimage ligado a um clientdataset;ao navegar nos registros do grid a imagem desaparecedo dbimage, antes mesmo de dar o applyupdates. Desde ja grato aquem puder me ajudar. Regis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parte do codigo:

 

if oppImg.Execute then begin

if JPEGDimensions(oppImg.FileName,x,y) then //verifico se o tamanho é 200 x 200

if LoadJPEGPictureFile(DBImage1.Picture.Bitmap,ExtractFilePath //carrego a imagem no dbimage(oppImg.FileName),ExtractFileName(oppImg.FileName))then

SmoothResize(DBImage1.Picture.Bitmap,img);// redimensiono a imagem para 200 x 200

DBImage1.Picture := nil; //limpo o dmimage

DBImage1.Picture.Bitmap := img; //recebe a imagem tratada

end;

 

-Olha, desta forma a tabela se quer entra no estado edição;

parece que o dbimage nao atribui ao field a imagem que o mesmo recebeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola marcio !Consultei o forum, mas nao obtive resultado satisfatoriocom relação a gravar imagem no postgre numa aplicacao tres camadasPor genteleza se tiver mais alguma dica sobre este assunto...Desde ja sou grato pela atenção.Regis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Emite alguma mensagem de erro ? O que esta acontecendo agora ?

desta froma:"o campo que esta cendo gavado a imagem e do tipo bytea"//dm.cdsImagem.Params.ParamByName('idcodbarprod').Value := dm.cdsPGraidcodbarprod.Value;//dm.cdsImagem.Params.ParamByName('fotoprincipal').LoadFromFile(oppImg.FileName,ftBlob);Menagem de erro = access violation***************desta froma:"o campo que esta cendo gavado a imagem e do tipo oid" with dm.cdsImagem do begin CommandText := 'INSERT INTO teste(nome,imagem)'; CommandText := CommandText+' VALUES(''descricao'', lo_import('''+oppImg.FileName+'''))'; ShowMessage(CommandText); end; dm.cdsImagem.Execute;Menagem de erro = could not open server file "C:\temp\imagem.jpg"obs: esta e uma aplicação em tres camadas, esta ultima forma o sql esta cendo passado pelo ClientDataSet.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta passando muitas strings para o comando de insert, tente somente assim:

 

with dm.cdsImagem do 	begin	CommandText := 'INSERT INTO teste(nome,imagem)';	CommandText := CommandText +' VALUES(''descricao'', lo_import('+oppImg.FileName+'))';	ShowMessage(CommandText);	end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta passando muitas strings para o comando de insert, tente somente assim:

with dm.cdsImagem do 	begin	CommandText := 'INSERT INTO teste(nome,imagem)';	CommandText := CommandText +' VALUES(''descricao'', lo_import('+oppImg.FileName+'))';	ShowMessage(CommandText);	end;

Agora aparece a seguinte mensagem de erro : Os argumentos estão incorretos, Estão fora do intervalo aceitável ou estão em conflito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deste jeito :

 

with dm.cdsImagem do begin	  CommandText := 'INSERT INTO teste(nome,imagem)';	  CommandText := CommandText+' VALUES(''descricao'', lo_import(:fotoprincipal))';	  ShowMessage(CommandText);	 end;	 dm.cdsImagem.Params.ParamByName('fotoprincipal').LoadFromFile(oppImg.FileName,ftBlob);	 dm.cdsImagem.Execute;	end;

erro :no such file or directory; could not open server file

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.