Campo Imagem no FireBird

Firebird

23/08/2005

Pessoal,

To querendo salvar uma imagem num campo Blob, tamanho 80, segmento 0, type binary, utilizando o seguinte código:


var stm: TStream;
begin
  try
   try
    DBImage1.Picture.Graphic.LoadFromFile(Edit1.Text);
    stm := TMemoryStream.Create;
    try
    DBImage1.Picture.Graphic.SaveToStream(stm);
    stm.Position := 0;
    dm.cdsEmpresaLOGO.LoadFromStream(stm);
    except
    ShowMessage(´Falha ao gravar arquivo no Banco de Dados´);
    end;
   except
   ShowMessage(´Falha ao abrir arquivo´);
   end;
  finally
  Panel1.Visible := false;
  Panel2.Visible := true;
  end;


Só q tá dando erro. Uso com ClientDataSet, quando dou o ApplyUpdates(0), dá erro no IBX.

tem uma forma mais fácil de gravar?

se não, o que está errado no código?

grato.

mjr


Mjr

Mjr

Curtidas 0

Respostas

Sremulador

Sremulador

23/08/2005

qual o erro que esta apresentando ???


GOSTEI 0
Mjr

Mjr

23/08/2005

Erro no IBX: Nenhum mapeamento para o código do erro encontrado.


GOSTEI 0
Afarias

Afarias

23/08/2005

|Erro no IBX: Nenhum mapeamento para o código do erro encontrado.

Eita!! :shock: eu nunca vi o IBX mostrar uma mensagem de erro em português!!!

:roll:

T+


GOSTEI 0
Mjr

Mjr

23/08/2005

É porque eu instalei uma tradução das mensagens de erro do Delphi.

Mas alguém tem uma idéia do porque que está dando esse erro?

Essa é maneira correta de gravar campo imagem no BD?

grato.

mjr.


GOSTEI 0
Fsflorencio

Fsflorencio

23/08/2005

Ao invés de usar um TStream, use o TMemoryStream, que ele te dá umas facilidades, tipo, carregar o arquivo direto:

stm.loadfromfile( edit1.text );

acho q vai funcionar.


GOSTEI 0
POSTAR