Änderungen rückgängig machen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Daten bearbeiten


Die Originalversion eines Datensatzes bleibt in der Eigenschaft Data unverändert. Dennoch sieht ein Benutzer, der einen Datensatz bearbeitet, ihn verlässt und dann erneut darauf zugreift, immer die zuletzt geänderte Version des Datensatzes. Wenn ein Benutzer oder eine Anwendung einen Datensatz mehrmals ändert, wird jede geänderte Version des Datensatzes als separater Eintrag im Änderungsprotokoll gespeichert.

Das Speichern jeder einzelnen Datensatzänderung ermöglicht es, bei Bedarf mehrstufige Rückgängig-Operationen durchzuführen, um einen früheren Zustand des Datensatzes wieder herzustellen:

  • Um die letzte Änderung an einem Datensatz zu entfernen, rufen Sie UndoLastChange auf. UndoLastChange akzeptiert einen Booleschen Parameter (FollowChange, der angibt, ob der Cursor auf den wiederhergestellten Datensatz positioniert wird (True), oder ob er beim aktuellen Datensatz bleibt (False). Wurden mehrere Änderungen an einem einzelnen Datensatz vorgenommen, entfernt jeder Aufruf von UndoLastChange eine weitere Änderungsstufe. UndoLastChange gibt einen Booleschen Wert zurück, der angibt, ob eine Änderung erfolgreich entfernt werden konnte. Konnte die Änderung entfernt werden, gibt UndoLastChange den Wert True zurück. Mit Hilfe der Eigenschaft ChangeCount stellen Sie fest, ob weitere Änderungen rückgängig gemacht werden müssen. ChangeCount enthält die Anzahl der im Änderungsprotokoll aufgezeichneten Änderungen.
  • Statt alle Änderungsstufen eines einzelnen Datensatzes einzeln zu entfernen, können Sie auch alle Änderungen auf einmal löschen. Um alle Änderungen an einem Datensatz zu entfernen, markieren Sie den Datensatz und rufen RevertRecord auf. RevertRecord entfernt alle Änderungen des aktuellen Datensatzes aus dem Änderungsprotokoll.
  • Um einen gelöschten Datensatz wiederherzustellen, setzen Sie zunächst die Eigenschaft StatusFilter auf [usDeleted], wodurch die gelöschten Datensätze "sichtbar" werden. Anschließend positionieren Sie auf den Datensatz, den Sie wiederherstellen wollen, und rufen die Methode RevertRecord auf. Schließlich stellen Sie die Eigenschaft StatusFilter mit [usModified, usInserted, usUnmodified] wieder her, so dass wieder die bearbeitete Version der Datenmenge (die jetzt den wiederhergestellten Datensatz enthält) angezeigt wird.
  • Mithilfe der Eigenschaft SavePoint können Sie den aktuellen Status des Änderungsprotokolls während der Bearbeitung jederzeit ändern. Der Abruf von SavePoint gibt eine Markierung an der aktuellen Position des Änderungsprotokolls zurück. Wenn Sie später die Änderungen seit dem Lesen des Speicherungspunktes rückgängig machen wollen, setzen Sie SavePoint auf den zuvor gelesenen Wert. Ihre Anwendung kann Werte für mehrere Speicherpunkte ermitteln. Nachdem Sie jedoch das Änderungsprotokoll bis zu einem bestimmten Punkt gesichert haben, sind alle später von Ihrer Anwendung gelesenen Werte ungültig.
  • Durch einen Aufruf von CancelUpdates entfernen Sie alle in dem Änderungsprotokoll aufgezeichneten Änderungen. CancelUpdates löscht das Änderungsprotokoll und verwirft dadurch alle Bearbeitungen aller Datensätze. Gehen Sie aber vorsichtig mit dem Aufruf von CancelUpdates um. Nach dem Aufruf von CancelUpdates lassen sich die aus dem Protokoll entfernten Änderungen nicht wiederherstellen.

Siehe auch