Freigeben über


Aktualisieren und Persistieren von Daten

In den vorherigen Kapiteln wurde erläutert, wie ADO zum Abrufen von Daten in einer Datenquelle, zum Navigieren in den Daten und sogar zum Bearbeiten der Daten verwendet wird. Wenn Die Anwendung natürlich dazu dient, Benutzern das Vornehmen von Änderungen an den Daten zu ermöglichen, müssen Sie wissen, wie diese Änderungen gespeichert werden. Sie können entweder die Recordset--Änderungen an einer Datei mithilfe der Save-Methode speichern, oder Sie können die Änderungen mithilfe der Methoden Update oder UpdateBatch an die Datenquelle zurücksenden.

In den vorherigen Kapiteln haben Sie die Daten in mehreren Zeilen des Recordsetgeändert. ADO unterstützt zwei grundlegende Begriffe im Zusammenhang mit dem Hinzufügen, Löschen und Ändern von Datenzeilen.

Der erste Gedanke ist, dass Änderungen nicht sofort am Recordsetvorgenommen werden; stattdessen werden sie an einem internen Kopierpuffervorgenommen. Wenn Sie die Änderungen nicht wünschen, werden die Änderungen im Kopierpuffer verworfen. Wenn Sie die Änderungen beibehalten möchten, werden die Änderungen im Kopierpuffer auf das Recordset-angewendet.

Der zweite Begriff besteht darin, dass Änderungen entweder an die Datenquelle weitergegeben werden, sobald Sie die Arbeit an einer Zeile abgeschlossen deklarieren (d. a. sofortigen Modus), oder alle Änderungen an einer Reihe von Zeilen werden erfasst, bis Sie die Arbeit für den Satz abgeschlossen deklarieren (d. a. Batch- Modus). Die LockType--Eigenschaft bestimmt, wann die Änderungen an der zugrunde liegenden Datenquelle vorgenommen werden. adLockOptimistic oder adLockPessimistic gibt den sofortigen Modus an, während adLockBatchOptimistic den Batchmodus angibt. Die eigenschaft CursorLocation kann sich darauf auswirken, welche LockType- einstellungen verfügbar sind. Beispielsweise wird die einstellung adLockPessimistic nicht unterstützt, wenn die eigenschaft CursorLocation auf adUseClientfestgelegt ist.

Im unmittelbaren Modus verteilt jeder Aufruf der Update-Methode die Änderungen an die Datenquelle. Im Batchmodus speichert jeder Aufruf von Aktualisieren oder Verschieben der aktuellen Zeilenposition die Änderungen am Kopierpuffer, aber nur die UpdateBatch Methode verteilt die Änderungen an die Datenquelle.

Dieser Abschnitt enthält die folgenden Themen.