Aktualisieren und Beibehalten von Daten
In den vorherigen Kapiteln wurde erläutert, wie ADO zum Abrufen von Daten in einer Datenquelle verwendet wird, wie Sie in den Daten navigieren und sogar wie Sie die Daten bearbeiten können. Wenn das Ziel der Anwendung ist, dass Benutzer*innen Änderungen an den Daten vornehmen können, müssen Sie wissen, wie Sie diese Änderungen speichern. Sie können entweder die Recordset-Änderungen an einer Datei mithilfe der Save-Methode beibehalten, 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 Recordset geändert. ADO unterstützt zwei grundlegende Konzepte zum Hinzufügen, Löschen und Ändern von Datenzeilen.
Das erste Konzept besteht darin, dass Änderungen nicht sofort am Recordset vorgenommen werden, sondern an einen internen Kopierpuffer. Wenn Sie die Änderungen im Kopierpuffer nicht übernehmen möchten, werden sie verworfen. Wenn Sie die Änderungen im Kopierpuffer beibehalten möchten, werden sie auf das Recordset angewendet.
Das zweite Konzept besteht darin, dass Änderungen entweder an die Datenquelle weitergegeben werden, sobald Sie die Arbeit für eine Zeile als abgeschlossen deklarieren (unmittelbarer Modus), oder dass alle Änderungen an einer Gruppe von Zeilen gesammelt werden, bis Sie die Arbeit dafür als abgeschlossen deklarieren (Batchmodus). Die Eigenschaft LockType bestimmt, wann die Änderungen an der zugrunde liegenden Datenquelle vorgenommen werden. adLockOptimistic or adLockPessimistic gibt den unmittelbaren Modus an, während adLockBatchOptimistic den Batchmodus angibt. Die Eigenschaft CursorLocation kann sich darauf auswirken, welche LockType-Einstellungen verfügbar sind. Die Einstellung adLockPessimistic wird zum Beispiel nicht unterstützt, wenn die Eigenschaft CursorLocation auf adUseClient festgelegt ist.
Im unmittelbaren Modus gibt jeder Aufruf der Update-Methode die Änderungen an die Datenquelle weiter. Im Batchmodus speichert jeder Aufruf von Update oder jede Bewegung der aktuellen Zeilenposition die Änderungen im Kopierpuffer, doch nur die UpdateBatch -Methode gibt die Änderungen an die Datenquelle weiter.
In diesem Abschnitt werden die folgenden Themen behandelt: