Parameter vom Anwendungsserver abrufen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Eine Client-Datenmenge mit einem Provider verwenden


Es gibt zwei Situationen, in denen eine Client-Datenmenge Parameterwerte abrufen muss:

  • Die Anwendung benötigt den Wert der Ausgabeparameter für eine Stored Procedure.
  • Die Anwendung will die Eingabeparameter einer Abfrage oder Stored Procedure mit den aktuellen Werten der Quelldatenmenge initialisieren.

Eine Client-Datenmenge speichert Parameterwerte in ihrer Eigenschaft Params. Diese Werte werden immer dann mit Ausgabeparametern aktualisiert, wenn die Client-Datenmenge Daten aus der Quelldatenmenge abruft. Es kann jedoch Fälle geben, in denen eine TClientDataSet-Komponente in einer Client-Anwendung Ausgabeparameter benötigt, obwohl sie keine Daten abruft.

Um Ausgabeparameter zu ermitteln, obwohl keine Datensätze abgerufen werden, oder um Eingabeparameter zu initialisieren, kann die Client-Datenmenge Parameterwerte von der Quelldatenmenge anfordern, indem sie die Methode FetchParams aufruft. Die Parameter werden vom Provider in einem Datenpaket zurückgegeben und der Eigenschaft Params der Client-Datenmenge zugewiesen.

Zur Entwurfszeit können Sie die Eigenschaft Params initialisieren, indem Sie mit der rechten Maustaste auf die Client-Datenmenge klicken und den Befehl Parameter holen wählen.

Anmerkung:  Es ist niemals erforderlich, FetchParams aufzurufen, wenn die Client-Datenmenge einen internen Provider und eine interne Quelldatenmenge verwendet, weil die Eigenschaft Params immer die Parameter der internen Quelldatenmenge reflektiert. Bei TClientDataSet funktioniert die Methode FetchParams (oder der Befehl Parameter holen) nur dann, wenn die Client-Datenmenge mit einem Provider verbunden ist, dessen zugeordnete Datenmenge Parameter bereitstellen kann. Ist die Quelldatenmenge beispielsweise eine tabellenbasierte Datenmenge, müssen keine Parameter abgerufen werden.

Die Eigenschaft Params kann auch genutzt werden, um der Quelldatenmenge Parameterwerte zu übergeben. Weitere Informationen dazu finden Sie unter Der Quelldatenmenge Parameter übergeben.

Befindet sich der Provider auf einem separaten System als Teil eines statuslosen Anwendungsservers, können Sie FetchParams nicht verwenden, um Ausgabeparameter abzurufen. Bei Verwendung eines statuslosen Anwendungsservers besteht die Möglichkeit, dass andere Clients die Abfrage oder die Stored Procedure ändern und erneut ausführen und damit die Ausgabeparameter ändern, bevor FetchParams aufgerufen wird. Um Ausgabeparameter von einem statuslosen Anwendungsserver abzurufen, führen Sie die Methode Execute aus. Ist der Provider einer Abfrage oder Stored Procedure zugeordnet, weist Execute den Provider an, die Abfrage oder die Stored Procedure auszuführen und Ausgabeparameter zurückzugeben. Diese zurückgegebenen Parameter werden anschließend verwendet, um die Eigenschaft Params automatisch zu aktualisieren.

Siehe auch