Gravar Imagem no banco

Delphi

23/01/2004

Pessoal estou tentando gravar uma imagem no Banco de Dados Firebird e não estou conseguindo já fiz várias pesquisas no forum e encontrei vários topicos más não consigo finalizar, a minha estrutura de Banco é a sequinte:

Nome da Query

DmPrincipal.qry_produto

nome do Field
Mem_Imagemproduto tipo Blob

Basicamente o Erro esta acontecendo quando tento passar a imagem como parâmetro na qry Exemplo:
qry_Produto.Close;
qry_Produto.Sql.Clear;
qry_Produto.Sql.Add(´Insert into Produto´);
qry_Produto.Sql.Add(´(Mem_Imagemproduto)´);
qry_Produto.Sql.Add(´Values (:Mem_ImagemProduto´);
qry_Produto.Sql.Add(´Where Str_CodigoProduto = :Str_CodigoProduto´);
qry_Produto.Parambyname.(´Mem_ImagemProduto´)

Ai dá o erro.

Conto mais uma vez com a ajuda de vocês


Ari

Ari

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

23/01/2004

qry_Produto.Close; 
qry_Produto.Sql.Clear; 
qry_Produto.Sql.Add(´Update Produto ´); 
qry_Produto.Sql.Add(´Set Mem_Imagemproduto=:Mem_ImagemProduto ´); 
qry_Produto.Sql.Add(´Where Str_CodigoProduto = :Str_CodigoProduto´); 
qry_Produto.Parambyname.(´Mem_ImagemProduto´).AsString := ´PassaOPathDaImagem´;
qry_Produtos.Parambyname(´Str_CodigoProduto´).AsInteger := ´PassaOCodigoComoInteger´;
qry_Produto.ExecSql;
 



GOSTEI 0
Ari

Ari

23/01/2004

Pessoal preciso guardar a imagem no banco e não o Path, desculpa esqueci de explicvar isso


GOSTEI 0
Walfrido

Walfrido

23/01/2004

Estou usando o DBIsam, e também testei no FireBird e funcionou...

Acrescente na Uses JPEG e CLIPBRD;

procedure Tfrm_imagem.btn_fotoClick(Sender: TObject);
var
imagem : tPicture;
begin
if OpenPictureDialog1.execute then
begin
imagem := tPicture.create();
imagem.LoadFromFile(OpenPictureDialog1.FileName);
clipboard.Assign(imagem);
DBImage1.PasteFromClipboard;
imagem.Free;
end;
end;


Testa aí, Ok!!! :!:


Walfrido 8)


GOSTEI 0
POSTAR