Einzelnen Beitrag anzeigen

danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#1

Blob: Filestream und Zusatzinformation

  Alt 25. Mär 2009, 12:35
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBX
Hallo Alle,

Ich versuche in einem Blob eine beliebige Datei zu speichern mit - im selben Blob - eine (beliebige) Zusatzinformation, zB. der Dateiname.
Eine Datei in einem Blob alleine ist kein Problem. Dazu verwende ich folgender Code.
Es ist auch nicht ein Problem den Dateinamen in ein anderes Feld zu schreiben. Nur möchte ich aus einem bestimmten Grund eine Zusatzinfo im BLOB reinschreiben können.

Wie kann mann nun 2 Streams so zusammenfügen dass man es im Blob speichern und wieder auslesen kann. Hätte jemand ein Beispiel ?

Delphi-Quellcode:
  odf := OpenDialog1.FileName;
  D_DOCS.Open;
  D_DOCS.Insert;
  D_DOCS.Edit;
  blob:=D_DOCS.CreateBlobStream(D_DOCS.FieldByName('F_ATT'),bmWrite);
  try
    blob.Seek(0,soFromBeginning);
    datei:=TFileStream.Create(odf,fmOpenRead or fmShareDenyWrite);
    D_DOCS.FieldByName('F_SHC').AsString := ExtractFileName(odf);
    try
      blob.CopyFrom(datei,datei.Size);
    finally
      datei.Free;
    end;
   finally
    blob.Free;
    D_DOCS.Post;
  end;
Gruss
daniele
  Mit Zitat antworten Zitat