Änderungen in die Daten einfügen
Nach oben zu Eine Client-Datenmenge mit dateibasierten Daten verwenden
Wenn Sie die Daten einer Client-Datenmenge bearbeiten, existieren alle Änderungen, die Sie an den Daten vornehmen, nur als Einträge in einem im Hauptspeicher abgelegten Änderungsprotokoll. Dieses Protokoll kann separat von den Daten verwaltet werden, obwohl es völlig transparent für Objekte ist, welche die Client-Datenmenge verwenden. Das bedeutet: Steuerelemente mit Navigations- oder Anzeigefunktionen bezüglich der Client-Datenmenge "sehen" eine Ansicht der Daten, die die Änderungen beinhaltet. Wenn Sie die Änderungen nicht verlieren wollen, sollten Sie das Änderungsprotokoll in die Daten der Client-Datenmenge einarbeiten, indem Sie die Methode MergeChangeLog aufrufen. MergeChangeLog überschreibt Datensätze in Data mit den geänderten Feldwerten aus dem Änderungsprotokoll.
Nach Ausführung der Methode MergeChangeLog enthält Data eine Kombination aus existierenden Daten und allen Änderungen, die in das Änderungsprotokoll eingetragen waren. Diese Kombination wird zur neuen Data-Grundlage, auf die sich zukünftige Änderungen beziehen. MergeChangeLog löscht das Änderungsprotokoll aller Datensätze und setzt die Eigenschaft ChangeCount auf 0 zurück.
Warnung: Rufen Sie die Methode MergeChangeLog nicht für Client-Datenmengen auf, die einen Provider verwenden. In diesem Fall müssen Sie ApplyUpdates aufrufen, um Änderungen in die Datenbank einzutragen. Nähere Informationen finden Sie unter Aktualisierungen eintragen.
Anmerkung: Die Änderungen können auch in die Daten einer separaten Client-Datenmenge eingetragen werden, wenn diese Datenmenge ursprünglich die Daten aus der Eigenschaft Data bereitgestellt hat. Dazu verwenden Sie einen Datenmengen-Provider. Ein Beispiel dafür finden Sie unter Daten direkt zuweisen.
Falls Sie die erweiterten Möglichkeiten nicht nutzen wollen, die das Änderungsprotokoll zum Rückgängigmachen von Aktionen bietet, setzen Sie die Eigenschaft LogChanges der Client-Datenmenge auf False. In diesem Fall werden Änderungen beim Zurückschreiben von Datensätzen automatisch eingetragen, und es ist nicht erforderlich, MergeChangeLog aufzurufen.