Den Datenmengentyp für zwischengespeicherte Aktualisierungen auswählen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Mithilfe einer Client-Datenmenge Aktualisierungen zwischenspeichern


Delphi beinhaltet einige spezialisierte Client-Datenmengenkomponenten für das Zwischenspeichern von Aktualisierungen. Jeder Client-Datenmenge ist ein bestimmter Datenzugriffsmechanismus zugeordnet. Diese sind in der folgenden Tabelle aufgeführt:

Spezialisierte Client-Datenmengen für das Zwischenspeichern von Aktualisierungen :

Client-Datenmengen Datenzugriffsmechanismus

SimpleDS.TSimpleDataSet

dbExpress

DBLocalI.TIBClientDataSet

InterBase Express



Generische Client-Datenmenge für das Zwischenspeichern von Aktualisierungen :

Client-Datenmengen Datenzugriffsmechanismus

Datasnap.DBClient.TClientDataSet

dbExpress, dbGo, BDE



Sie können mit Hilfe der generischen Client-Datenmenge (Eine Client-Datenmenge mit einem Provider verwenden) Aktualisierungen zwischenspeichern.

Hinweis:  Die jedem Datenzugriffsmechanismus zugeordnete spezialisierte Client-Datenmenge verwendet in Wirklichkeit ebenfalls einen Provider und eine Quelldatenmenge. Allerdings sind sowohl der Provider als auch die Quelldatenmenge für die Client-Datenmenge interne Objekte.

Das Zwischenspeichern von Aktualisierungen lässt sich am einfachsten mit einer der spezialisierten Datenmengen bewerkstelligen. Es gibt jedoch Konstellationen, wo es sinnvoller ist, TClientDataSet mit einem externen Provider zu verwenden.

  • Falls Sie einen Datenzugriffsmechanismus verwenden, für den es keine spezialisierte Client-Datenmenge gibt, müssen Sie TClientDataSet mit einer externen Provider-Komponente verwenden. Das ist beispielsweise der Fall, wenn die Daten einem XML-Dokument oder einer benutzerdefinierten Datenmenge entstammen.
  • Falls Sie mit Tabellen arbeiten, die eine Haupt/Detail-Beziehung bilden, sollten Sie TClientDataSet verwenden und diese Komponente unter Verwendung eines Providers mit der Haupttabelle von zwei Quelldatenmengen verbinden, die in einer Haupt/Detail-Beziehung verknüpft sind. Die Client-Datenmenge sieht die Detail-Datenmenge als verschachteltes Datenmengenfeld. Dieser Ansatz ist notwendig, damit Aktualisierungen an Haupt- und Detailtabellen in der richtigen Reihenfolge angewendet werden können.
  • Falls Sie Ereignisbehandlungsroutinen schreiben wollen, die auf die Kommunikation zwischen der Client-Datenmenge und dem Provider reagieren (beispielsweise bevor und nachdem die Client-Datenmenge Datensätze vom Provider abruft), müssen Sie TClientDataSet mit einer externen Provider-Komponente verwenden. Die spezialisierten Client-Datenmengen stellen zwar die wichtigsten Ereignisse für das Zurückschreiben von Aktualisierungen bereit (OnReconcileError, BeforeUpdateRecord und OnGetTableName), nicht aber die Ereignisse für die Kommunikation zwischen der Client-Datenmenge und ihrem Provider, weil sie hauptsächlich für mehrschichtige Anwendungen vorgesehen sind.

Siehe auch