Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird - Zeos - Blob (https://www.delphipraxis.net/152785-firebird-zeos-blob.html)

ATS3788 6. Jul 2010 21:36

Datenbank: Firebird • Version: 2,1 • Zugriff über: Zeos

Firebird - Zeos - Blob
 
Delphi-Quellcode:
   var TheStream: TMemoryStream;
   begin
      TheStream := TMemoryStream.Create;
      try
         Image1.Picture.Bitmap.SaveToStream(TheStream);
         with qryBlobInsert do begin
            Sql.Text := 'INSERT INTO EVENTS (EventNo,EVENT_PHOTO) ' +
               'VALUES (100,:ThePicture)';
            Params.Clear;
            Params.CreateParam(ftBlob, 'ThePicture', ptInput);
            ParamByName('ThePicture').LoadfromStream(TheStream, ftBlob);
            ExecSQL;
         end;
      finally
         TheStream.Free;
      end;
   end;
Der schöne Code stammt von Michael Seeger - Delphi Treff

Meine Frage, wie bekomme ich "ÜBER TZQuery" das Blob wieder in eine TImage oder TDBImage?

blackfin 6. Jul 2010 22:13

AW: Firebird - Zeos - Blob
 
Delphi-Quellcode:
FStream := TMemoryStream.Create() ;

qryBlobInsert.Sql.Text := 'SELECT EVENT_PHOTO FROM EVENTS WHERE...' ;
qryBlobInsert.Open();
FStream := qryBlobInsert.CreateBlobStream(FieldByName('EVENT_PHOTO'), bmRead);
qryBlobInsert.Close() ;

FStream.Seek(0,soFromBeginning) ;
Image1.Picture.Bitmap.LoadFromStream(FStream );

mkinzler 6. Jul 2010 22:14

AW: Firebird - Zeos - Blob
 
Einfach umgedreht:
Delphi-Quellcode:
Field.SaveToStream(TheStream);
...
Image.Picture.Bitmap.LoadFromStream(TheStream);

ATS3788 7. Jul 2010 22:08

AW: Firebird - Zeos - Blob
 
Danke für eure Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz