[firebase-br] Salvar imagem no banco
Stanley Jones
stanley em promediconet.com.br
Ter Nov 28 15:38:36 -03 2006
Olá pessoal,
Não consigo salvar imagens no banco de dados utilizando
o clientdataset no delphi7. Com o ibdataset no delphi5 ele salva a imagem
normalmente, mas com o clientdataset
não funciona. Ele não da erro na hora de gravar, no entanto a imagem não é
gravada no banco.
Reparem o codigo:
var
ImageJPG: TJPEGImage;
ImageMST: TMemoryStream;
begin
try
ImageJPG := TJPEGImage.Create;
ImageMST := TMemoryStream.Create;
ImageJPG.Assign(Image1.Picture);
ImageJPG.SaveToStream(ImageMST);
ImageMST.Position := 0;
tbAux.CommandText := 'update fichas set fichas.foto2 = :foto2 where
fichas.nroficha = 2'
tbAux.Params.ParamByName('FOTO2').LoadFromStream(ImageMST, ftBlob);
tbAux.Execute;
ImageJPG.Free;
ImageMST.Free;
ShowMessage('Foto gravada com sucesso.');
except
on E: Exception do
begin
ShowMessage('Problemas na tentativa de gravar o registro.' + #13 +
E.Message);
ImageJPG.Free;
ImageMST.Free;
Exit;
end;
end;
tbAux é um tclientdataset, que está ligado em um componente tsoapconection,
que por sua vez está ligado a uma aplicação servidora (através de uma dll)
que se encarrega de acessar o banco. (vi este exemplo na edição 70 da clube
delphi - Aplicações distribuidas na web usando SOAP, XML e CLIENTDATASET).
A gravação e o acesso de outros dados e registros no banco é perfeita, no
entanto a imagem ele não grava. Será que é bug no clientdataset, ou estou
fazendo algo errado?
Alguem poderia me ajudar???? Estou usando Delphi7, Firebird 1.5.2.
Stanley Jones
Mais detalhes sobre a lista de discussão lista