Hallo miteinander - ich probiere nun schon den ganzen Tag und bekomme es einfach nicht hin ...
Ich möchte in einer
Access-
DB in einem Blobfeld ein JPEG-Bild abspeichern und im Bedarfsfalle darauf zu greifen.
Es gelingt mir zwar Daten in das Blobfeld zu schreiben, jedoch kann ich nichts auslesen da die Größe gleich 0 ist ... Auch im
Access selbst lässt sich nichts auslesen, dort erscheint eine Fehlermeldung.
Ich habe nunmehr alle verfügbaren Möglichkeiten aus verschiedensten Quellen probiert, aber ohne Erfolg.
Zum setzen des Blobs:
Delphi-Quellcode:
var m : TMemoryStream;
jpg : TJPEGImage;
Begin
Form8.Query_Logo.Edit;
jpg:=TJPEGImage.Create;
m:=TMemoryStream.Create;
try
jpg.loadfromfile(form1.opendialog2.FileName);
jpg.SaveToStream(m);
m.Position := 0;
TBlobField(form8.query_logo.FieldByName('logo')).LoadFromStream(m);
finally
FreeAndNil(m);
FreeAndNil(jpg);
end;
Form8.Query_Logo.post;
Zum Auslesen:
Delphi-Quellcode:
jpg:=TJPEGImage.Create;
m:=TMemoryStream.Create;
if (query_logo.FieldByName('logo') As TBlobField).BlobSize > 0 then
try
TBlobField(query_logo.FieldByName('logo')).SaveToStream(m);
m.Position:=0;
jpg.LoadFromStream(m);
Image1.Picture.Assign(jpg);
finally
FreeAndNil(m);
FreeAndNil(jpg);
end;