Haupt/Detail-Beziehungen unterstützen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Serveranwendung erstellen


Das Einrichten von Haupt/Detail-Beziehungen zwischen Client-Datenmengen in einer Client-Anwendung entspricht dem Einrichten von Haupt/Detail-Beziehungen in tabellarischen Datenmengen. Nähere Informationen zum Einrichten von Haupt-/ Detail-Formularen finden Sie unter Haupt/Detail-Beziehungen erstellen.

Diese Vorgehensweise bringt grundsätzlich zwei Nachteile mit sich:

  • Die Detailtabelle muss alle Datensätze vom Anwendungsserver abrufen und speichern, auch wenn zu einem bestimmten Zeitpunkt nur ein Detaildatensatz benötigt wird. (Dieses Problem kann durch den Einsatz von Parametern weitgehend umgangen werden. Weitere Informationen finden Sie unter Datensätze durch Parameter beschränken.)
  • Das Eintragen von Aktualisierungen wird relativ schwierig, da diese Operation von den Client-Datenmengen auf der Ebene der Datenmengen vorgenommen wird und mehrere Datenmengen beteiligt sind. Bereits in einer zweischichtigen Umgebung, in der die Datenbank zum Eintragen der Aktualisierungen in mehrere Tabellen im Rahmen einer Transaktion verwendet werden kann, ist das Eintragen von Aktualisierungen in Haupt/Detail-Formulare nicht unkompliziert.

In mehrschichtigen Anwendungen können Sie diese Probleme vermeiden, indem Sie verschachtelte Tabellen zur Repräsentation der Haupt/Detail-Beziehung verwenden. Richten Sie zu diesem Zweck auf dem Anwendungsserver eine Haupt/Detail-Beziehung zwischen den Tabellen ein. Weisen Sie anschließend der Eigenschaft DataSet der Provider-Komponente die Haupttabelle zu. Um verschachtelte Tabellen zur Darstellung von Haupt/Detail-Beziehungen verwenden zu können, wenn Daten von XML-Dokumenten bereitgestellt werden, setzen Sie eine Transformationsdatei ein und definieren darin die verschachtelten Detail-Datenmengen

Wenn Clients die Methode GetRecords des Providers aufrufen, nimmt diese die Detail-Datenmengen automatisch als DataSet-Feld in die Datensätze im Datenpaket auf. Rufen Clients die Methode ApplyUpdates des Providers auf, wird das Eintragen der Aktualisierungen automatisch in der richtigen Reihenfolge durchgeführt.

Siehe auch