FireDAC.Comp.DataSet.TFDDataSet.SavePoint
Delphi
property SavePoint: Int64 read GetSavePoint write SetSavePoint;
C++
__property __int64 SavePoint = {read=GetSavePoint, write=SetSavePoint};
Inhaltsverzeichnis
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;