Regis_JP 0 Denunciar post Postado Abril 19, 2007 Gostaria de saber como gravar uma imagem num banco postgre usando delphi 7... Regis... Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Abril 19, 2007 Ta com pressa??? Favor parar de ficar dando Up no post... http://forum.imasters.com.br/public/style_emoticons/default/excl.gif Leia as regras do fórum!!! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Abril 19, 2007 Veja se este artigo lhe ajuda, mostra como fazer insert de imagens no banco... Compartilhar este post Link para o post Compartilhar em outros sites
Regis_JP 0 Denunciar post Postado Abril 19, 2007 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
marcio.theis 3 Denunciar post Postado Abril 19, 2007 Mas acontece algum erro, o que ocorre ? Como você esta tentando fazer ? Dê mais detalhes... Veja se lhe ajuda -> http://forum.imasters.com.br/index.php?showtopic=223498 Compartilhar este post Link para o post Compartilhar em outros sites
Regis_JP 0 Denunciar post Postado Abril 19, 2007 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
marcio.theis 3 Denunciar post Postado Abril 19, 2007 Tente fazer assim: tabelaCAMPO_IMAGEM.LoadFromFile(oppImg.FileName); Dê uma pesquisada no fórum sobre este assunto, já foi bem discutido... Compartilhar este post Link para o post Compartilhar em outros sites
Regis_JP 0 Denunciar post Postado Abril 24, 2007 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
Regis_JP 0 Denunciar post Postado Abril 24, 2007 [] Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Abril 24, 2007 Emite alguma mensagem de erro ? O que esta acontecendo agora ? Compartilhar este post Link para o post Compartilhar em outros sites
Regis_JP 0 Denunciar post Postado Abril 24, 2007 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
marcio.theis 3 Denunciar post Postado Abril 24, 2007 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
Regis_JP 0 Denunciar post Postado Abril 24, 2007 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
Regis_JP 0 Denunciar post Postado Abril 24, 2007 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