Zwischengespeicherte Aktualisierungen: Überblick

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Mithilfe einer Client-Datenmenge Aktualisierungen zwischenspeichern


Um zwischengespeicherte Aktualisierungen verwenden zu können, muss Ihre Anwendung die folgende Prozessabfolge aufweisen:

Angeben, welche Daten bearbeitet werden sollen. Wie Sie das machen, ist vom Typ der verwendeten Client-Datenmenge abhängig:

  • Wenn Sie TClientDataSet verwenden, geben Sie die Provider-Komponente an, welche die zu bearbeitenden Daten repräsentiert.
  • Falls Sie eine einem bestimmten Datenzugriffsmechanismus zugeordnete Client-Datenmenge verwenden, müssen Sie:
  • Den Datenbankserver angeben, indem Sie die Eigenschaft DBConnection auf eine geeignete Verbindungskomponente setzen.
  • Angeben, welche Daten Sie anzeigen wollen, indem Sie die Eigenschaften CommandText und CommandType setzen. CommandType zeigt an, ob es sich bei CommandText um eine auszuführende SQL-Anweisung, den Namen einer Stored Procedure oder den Namen einer Tabelle handelt. Ist CommandText eine Abfrage oder Stored Procedure, verwenden Sie die Eigenschaft Params, um gegebenenfalls Eingabeparameter bereitzustellen.
  • Optional verwenden Sie Optionen für Datenpakete einstellen.

Die Daten anzeigen und bearbeiten, das Einfügen neuer Datensätze ermöglichen und das Löschen existierender Datensätze unterstützen. Sowohl die Originalkopie jedes Datensatzes als auch die daran vorgenommenen Änderungen werden im Hauptspeicher abgelegt. Dieses Vorgehen ist unter Daten bearbeiten beschrieben.

Gegebenenfalls zusätzliche Datensätze abrufen. Standardmäßig rufen Datenmengen alle Datensätze ab und legen sie im Hauptspeicher ab. Falls eine Datenmenge viele Datensätze oder Datensätze mit großen BLOB-Feldern enthält, möchten Sie dieses Verhalten möglicherweise abändern, so dass die Client-Datenmenge nur so viele Datensätze abruft, wie sie anzeigen kann, und nach Bedarf weitere Datensätze abruft. Weitere Informationen zur Steuerung dieses Abrufprozesses finden Sie unter Daten von der Quelldatenmenge oder dem Quelldokument abrufen.

Optional die Datensätze aktualisieren. Während Sie arbeiten, ändern möglicherweise andere Benutzer die Daten auf dem Datenbankserver. Das kann dazu führen, dass die Daten der Client-Datenmenge immer mehr von den Daten auf dem Server abweichen. Dadurch werden beim Zurückschreiben der Änderungen Fehler immer wahrscheinlicher. Um dieses Problem zu umgehen, können Sie Datensätze aktualisieren, die noch nicht bearbeitet wurden. Weitere Informationen finden Sie unter Datensätze mit der Methode Refresh aktualisieren.

Die lokal zwischengespeicherten Datensätze in die Datenbank zurückschreiben oder die Änderungen verwerfen. Für jeden in die Datenbank geschriebenen Datensatz wird ein BeforeUpdateRecord-Ereignis ausgelöst. Tritt beim Schreiben eines einzelnen Datensatzes in die Datenbank ein Fehler auf, ermöglicht ein OnUpdateError-Ereignis der Anwendung, den Fehler zu korrigieren, falls das möglich ist, und die Aktualisierung fortzusetzen. Sind die Änderungen vollständig eingetragen, werden alle erfolgreich vorgenommenen Aktualisierungen aus dem lokalen Zwischenspeicher entfernt. Nähere Informationen über das Festschreiben von Aktualisierungen finden Sie unter Datensätze aktualisieren.

Statt Änderungen zurückzuschreiben, kann eine Anwendung die Änderungen auch verwerfen und das Änderungsprotokoll leeren, ohne dass die Änderungen in die Datenbank übernommen werden. Sie verwerfen Änderungen, indem Sie die Methode CancelUpdates aufrufen. Für alle gelöschten Datensätze im Zwischenspeicher wird das Löschen rückgängig gemacht, veränderte Datensätze erhalten wieder ihre ursprünglichen Werte, und neu eingefügte Datensätze verschwinden einfach.

Siehe auch