Einzelnen Beitrag anzeigen

dj-pitti

Registriert seit: 1. Jul 2004
10 Beiträge
 
Delphi 2010 Professional
 
#1

Probleme mit Blobfeldern und Bilder

  Alt 14. Feb 2011, 14:42
Datenbank: Access • Version: 2007 • Zugriff über: ADO
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;
  Mit Zitat antworten Zitat