Die Datenquelle festlegen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Provider-Komponenten - Index


Wenn Sie eine Provider-Komponente verwenden, müssen Sie angeben, aus welcher Datenmenge die Daten stammen, die der Provider in Paketen zusammenstellen soll. Je nach Delphi-Version verfahren Sie dazu wie folgt:

Eine Datenmenge als Datenquelle verwenden

Handelt es sich bei dem Provider um einen Datenmengen-Provider (TDataSetProvider), geben Sie mit dessen Eigenschaft DataSet die Datenquelle an. Beim Entwurf wählen Sie im Objektinspektor aus der Dropdown-Liste der Eigenschaft DataSet eine der verfügbaren Datenmengen aus.

TDataSetProvider interagiert mit der Datenquelle über das Interface Data.DB.IProviderSupport. Dieses wird von TDataSet eingeführt und steht somit allen Datenmengen zur Verfügung. Die in TDataSet implementierten IProviderSupport-Methoden sind allerdings nur Platzhaltermethoden (Stubs), die keine Funktion haben oder Exceptions auslösen.

Die Datenmengen-Klassen, die zum Lieferumfang von Delphi gehören (BDE-Datenmengen, ADO-Datenmengen, dbExpress-Datenmengen und InterBase Express-Datenmengen), überschreiben diese Methoden, um das Interface IProviderSupport auf sinnvollere Weise zu implementieren. Client-Datenmengen fügen der geerbten Standardimplementierung von IProviderSupport nichts hinzu, können jedoch weiterhin als Datenquelle fungieren, sofern die Eigenschaft ResolveToDataSet der Provider-Komponente den Wert True hat.

Komponentenentwickler, die eigene Nachkommen von TDataSet erstellen, müssen alle entsprechenden IProviderSupport-Methoden überschreiben, wenn ihre Datenmengen einem Provider Daten liefern sollen. Wenn der Provider die Datenpakete nur zum Lesen bereitstellt (also keine Aktualisierungen vornimmt), reichen möglicherweise auch die in TDataSet implementierten IProviderSupport-Methoden aus.

Ein XML-Dokument als Datenquelle verwenden

Wenn es sich um einen XML-Provider handelt, setzen Sie dessen Eigenschaft XMLDataFile auf das Quelldokument.

Da XML-Provider das Quelldokument in Datenpakete zerlegen, müssen Sie zusätzlich angeben, wie die Umwandlung erfolgen soll. Sie wird von der Eigenschaft TransformRead des Providers ausgeführt. TransformRead repräsentiert ein TXMLTransform-Objekt. Mit dessen Eigenschaften geben Sie an, welche Umwandlung vorgenommen werden soll, und mit den Ereignissen dieses Objekts steuern Sie die Umwandlung. Nähere Informationen zu XML-Providern finden Sie unter XML-Dokumente als Datenquelle für einen Provider verwenden.

Siehe auch