Guten Abend alle miteinander...
irgendwie hab ich mich in ne sache verheckselt und komm da nicht mehr so ganz raus alleine
ich hab ein in TImage angezeigtes Bild (jpg, jpeg, bmp oder tga) in meine Datenbank gespeichert mittels:
Delphi-Quellcode:
if not img_MyStonesPicture.Picture.Bitmap.Empty
then begin // is überhaupt was drin im Bild?
BildStrom := TMemoryStream.Create;
try
img_MyStonesPicture.Picture.Bitmap.SaveToStream(BildStrom);
// Kühlschrank auf, Kuh rein..
Query1.ParamByName('
MyStonePicture').LoadFromStream(BildStrom,ftBlob);
// Kuh raus, Elefant rein
finally
BildStrom.Free;
// Aufräumen
end;
end else begin // wenn Bild leer, dann brauchen wir auch
// keine Bilddaten in DB zu schreiben...
Query1.ParamByName('
MyStonePicture').Value := NULL;
// damit das funzt, unit Variants
// einbinden - da is NULL deklariert!
end;
Query1.Prepared := True;
Query1.ExecSQL;
nun hab ich das problem, dass ich auf alle daten des datensatzes zugreifen kann, bis auf das bild.
ich habs in etwa so versucht in meheren variationen:
Delphi-Quellcode:
BildStrom := TBlobstream;
BildStrom := TBlobStream.Create(Table1.FieldValues['StonePicture'] as TBlobField,bmRead);
img_MyStonesPicture.Picture.Bitmap.LoadFromStream(BildStrom,ftBlob);
BildStrom.Free;
Danke für jede Antwort im Voraus...
MFG
Floddy
EDIT:::
Lösung gefunden
Delphi-Quellcode:
Bildstrom:=Query1.CreateBlobStream(Query1.FieldByName('StonePicture'), bmRead);
img_MyStonesPicture.Picture.Bitmap.LoadFromStream(BildStrom);