Ler

procedure Tfrm1.LerImagem;
Var
BlobStream : TStream;
JPEGImage : TJPEGImage;

begin
 if IBQUERY.FieldbyName('IMAGEM').AsString <> '' then
  begin
    try
     BlobStream :=  IBQUERY.CreateBlobStream( IBQUERY.FieldbyName('IMAGEM'), 
bmRead);
     JPEGImage:= TJPEGImage.Create;
     JPEGImage.LoadFromStream(BlobStream);
     image1.Picture.Assign(JPEGImage); //Componente tImage
    finally
     JPEGImage.Free;
     BlobStream.Free;
    end;
   end;
end;



*********** REPLY SEPARATOR ***********

On 5/9/2005 at 12:36 Jéferson wrote:

Caros...

Como fazer para (gravar / ler) uma imagem (jpg) no firebird utilizando um
IBQUERY ?

Gravar eu consegui (segue rotina abaixo), mas não estou conseguindo ler
através da query, qualquer ajuda é válida.

Obs.: Tenho q guardar a imagem no banco! Não pode ser o caminho.

Para Gravar faço assim...
===========
stImagem := TFileStream.Create(OpenDialog1.FileName, fmShareDenyWrite );
try
    IBQuery.Active := False;
    IBQuery.SQL.Clear;
    IBQuery.SQL.Add('insert into TABELA (IMAGEM) values (:img)');
    IBQuery.ParamByName('img').LoadFromStream( stImagem, ftBlob );
    IBQuery.Active := True;
finally
        stImagem.Free;
end;
===========

Ler - *** Não estou conseguindo ***
===========
JpgImg := TJPEGImage.Create;
stMem := TMemoryStream.Create;

Try

    // Aqui está o problema
    /*************************************************/
    //  O IBQUERY  não aceita  o * SaveToStream *
    // como pode ser feito no TTable

    IBQUERY.FieldbyName('IMAGEM') . SaveToStream( stMem );
    /*************************************************/

    stMem.Position := 0;
    JpgImg.LoadFromStream( stMem );
    IMAGE1.Picture.Assign( jpgImg );

Finally
     stMem.Free;
     jpgImg.Free;
End;
===========



--
Jéferson Mehlecke
Porto Alegre - RS


      

      
            
_______________________________________________________ 
Yahoo! Messenger com voz: PROMOÇÃO VOCÊ PODE LEVAR UMA VIAGEM NA CONVERSA. 
Participe! www.yahoo.com.br/messenger/promocao 


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE
var lrec_target="_blank";var lrec_URL=new Array(); 
lrec_URL[1]="http://br.rd.yahoo.com/SIG=12fo4usqm/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1125941854/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/";;
 var 
lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1)";
 var 
lrec_altURL="http://br.rd.yahoo.com/SIG=12fo4usqm/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1125941854/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/";;
 var 
lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif";;
 var lrec_width=300;var lrec_height=250;  




Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  
Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
  
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a