Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Bild aus Datenbank in DBImage oder Imgae laden (https://www.delphipraxis.net/155414-bild-aus-datenbank-dbimage-oder-imgae-laden.html)

WizoHulk 22. Okt 2010 09:47

Datenbank: sql • Version: 1 • Zugriff über: ibExpert

Bild aus Datenbank in DBImage oder Imgae laden
 
Hallo,
ich hab folgendes Problem:
In der Datenbank ist ein Bild hinterlegt, dieses möchte ich nun in einem DbImage oder image anzeigen.

ich hab da schon nen bissel was mit
Delphi-Quellcode:
Image1.Picture.Graphic.LoadFromStream(LMemStream);
und
Delphi-Quellcode:
LMemStream := LoadBlob(IBDatabase1,'TECHNIK_IMAGE','TECHNIK',2);
aber das haut alles noch nicht so hin. Habt ihr nen Paar Tipps für mich, wie ich das am besten anstellen kann.
Zurzeit verwende ich dataset statt querry. Ich schätz ma das es da kein großen unterschied gibt.

danke schon mal für Eure Hilfe

DeddyH 22. Okt 2010 09:54

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
IBExpert ist ein Admin-Tool und keine Zugriffsbibliothek. Du kannst aber mal schauen, ob die verwendete Lib Delphi-Referenz durchsuchenCreateBlobStream kennt.

WizoHulk 22. Okt 2010 10:31

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
Hmmmm

Kann mann nicht einfach der Tabelle sagen
Delphi-Quellcode:
LSql:= ' SELECT Bild FROM Technik_image
bei normalen datensätze geht das ja auch, warum nicht beim typ BLOB?

Sir Rufo 22. Okt 2010 10:34

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
Zitat:

Zitat von WizoHulk (Beitrag 1057099)
Hmmmm

Kann mann nicht einfach der Tabelle sagen
Delphi-Quellcode:
LSql:= ' SELECT Bild FROM Technik_image
bei normalen datensätze geht das ja auch, warum nicht beim typ BLOB?

Allen steht das Wasser bis zum Hals,
nur nicht Rainer, der ist kleiner!

Tja und der BLOB ist in diesem Fall Rainer ;)

Ist halt bei diesem Datentyp anders als bei den anderen

DeddyH 22. Okt 2010 10:34

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
Klar kannst Du das sagen. Du bekommst dann einen Datensatz mit einem Feld vom Typ BLOB zurück. Hierbei handelt es sich um Binärdaten, Du musst also schon sagen, wie diese interpretiert werden sollen.

WizoHulk 22. Okt 2010 11:57

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
Ich hab jetzt das Bild in TMemoryStream geladen er gibt mir auch an, das da was drin ist.
Aber wnn ich den Inhalt in meine Image laden möchte dann sagt er mir
Zugriffsverletzung bei Adresse...
Habe ich was vergessen noch zu öffnen?

ist das überhaupt schon mal nen richtiger Ansatz?


Delphi-Quellcode:
   LMemStream := TMemoryStream.Create;
    try
      LoadBlob(IBDatabase1,'TECHNIK_IMAGE','TECHNIK',3,LMemStream);
      if LMemStream.Size > 0 then
      begin
        LMemStream.Seek(0,soFromBeginning);
        Image1.Picture.Graphic.LoadFromStream(LMemStream);
        end;
    finally
      LMemStream.Free;

DeddyH 22. Okt 2010 12:01

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
In welcher Zeile tritt der Fehler auf? Und welche Adresse, doch nicht zufällig 00000000?

WizoHulk 22. Okt 2010 12:05

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
ja ist 00000000
Und wenn ich
Delphi-Quellcode:
Image1.Picture.Graphic.LoadFromStream(LMemStream);
Komm auch mit dem Debugger in die procedure nicht rein.

DeddyH 22. Okt 2010 12:08

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
Ich bin gerade nicht sicher, aber evtl. musst Du zuerst ein passendes Grafikobjekt(TBitmap, TJPEGImage etc.) erzeugen, dort dann den Stream hineinladen und das dann der Imagegrafik zuweisen. Wäre zumindest einen Versuch wert.

WizoHulk 22. Okt 2010 12:49

AW: Bild aus Datenbank in DBImage oder Imgae laden
 
hat geklappt danke schön

Hab es in eine Jpeg geladen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 Uhr.

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