FireDAC.Comp.DataSet.TFDDataSet.SavePoint

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property SavePoint: Int64 read GetSavePoint write SetSavePoint;

C++

__property __int64 SavePoint = {read=GetSavePoint, write=SetSavePoint};

Eigenschaften

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

Beschreibung

Ermittelt/Setzt die Versionsnummer des Änderungsprotokolls.

Mit SavePoint ermitteln Sie die aktuelle Versionsnummer des Änderungsprotokolls. Setzen Sie danach das Änderungsprotokoll auf die angegebene Versionsnummer zurück. SavePoint kann nur im Modus CachedUpdates verwendet werden. SavePoint kann für Anwendungen nützlich sein, die Folgendes verwenden:

  • Die "Rückgängig"-Funktionalität (auch wenn keine Standardmöglichkeit für die Implementierung der "Wiederholen"-Aktion vorhanden ist).
  • Transaktionen im Arbeitsspeicher.

Wenn das Änderungsprotokoll auf einen früheren Status zurückgesetzt wurde, können die Datenmengen keinen SavePoint mehr zurückgeben. Dazu zählt:

  • Das Rückgängigmachen von Änderungen durch Setzen von SavePoint auf einen früher gespeicherten Wert.
  • Die Rücknahme zu vieler Änderungen mit der Methode RevertRecord.
  • Das Leeren des Änderungsprotokolls mit CancelUpdates oder CommitUpdates.

Der Versuch, SavePoint auf einen Status zu setzen, der im Änderungsprotokoll nicht mehr verfügbar ist, löst eine Exception aus.

Beispiel

 
 var
   iSavePoint: Integer;
 ....
   // remember changes log state
   iSavePoint := FDMemTable1.SavePoint;
   try
     FDMemTable1.AppendRecord(....);
     FDMemTable1.AppendRecord(....);
     FDMemTable1.AppendRecord(....);
     ...
     FDMemTable1.Delete;
     // mark changes as persistent and clear change log
     FDMemTable1.CommitUpdates;
   except
     // in case of exception, undo changes
     FDMemTable1.SavePoint := iSavePoint;
     raise;
   end;

Siehe auch