FireDAC.Comp.DataSet.TFDDataSet.LoadFromStream

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure LoadFromStream(AStream: TStream; AFormat: TFDStorageFormat = sfAuto);

C++

void __fastcall LoadFromStream(System::Classes::TStream* AStream, Firedac::Stan::Intf::TFDStorageFormat AFormat = (Firedac::Stan::Intf::TFDStorageFormat)(0x0));

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
FireDAC.Comp.DataSet.pas
FireDAC.Comp.DataSet.hpp
FireDAC.Comp.DataSet TFDDataSet


Beschreibung

Lädt die Daten einer Datenmenge aus einem Stream.

Mit LoadFromStream füllen Sie die Datenmenge mit in einer externen Datei gespeicherten Daten. Die Daten werden nicht in eine Datenbank verschoben, sondern nur in den Speicher der Datenmenge im Arbeitsspeicher geladen.  

AStream ist der Verweis auf den Stream mit den zu ladenden Daten. Die Stream-Position muss sich am Anfang der Datenmengendaten befinden, ansonsten schlägt das Laden fehl.  

AFormat ist das Dateiformat:

  • sfXML – ein Stream enthält wohlgeformte, eigenständige XML-Daten.
  • sfBinary – ein Stream enthält Binärdaten im benutzerdefinierten FireDAC-Format.
  • sfAuto – ein Format wird durch ResourceOptions festgelegt.
  • sfJSON – ein Stream enthält eigenständige JSON-Daten.

DefaultStoreExt, falls angegeben, ansonsten von ResourceOptions.DefaultStoreFormat.

LoadFromStream versucht, die durch ResourceOptions.StoreItems angegebenen Elemente aus dem Stream zu laden. Wenn der Stream mit einem anderen StoreItems-Wert geschrieben wurde, dann wird eine Exception wie die folgende ausgelöst: 

 [FireDAC][Stan]-712 Cannot read [Relationlist] object

Beispiel

var
  oStr: TStream;
....
oStr := FDQuery1.CreateBlobStream(FDQuery1.FieldByName('data'), bmRead);
try
  FDMemTable1.LoadFromStream(oStr, sfBinary);
finally
  oStr.Free;
end;

Siehe auch