[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