アプリケーション サーバーからのパラメータの取得

提供: RAD Studio
移動先: 案内検索

クライアント データセットでのプロバイダの使用 への移動


クライアント データセットがパラメータ値を取得する必要があるのは、次の 2 つの場合です。

  • アプリケーション側で、ストアド プロシージャの出力パラメータの値が必要である。
  • アプリケーション側で、クエリやストアド プロシージャの入力パラメータを、ソース データセットの現在の値に初期化したい。

クライアント データセットでは、パラメータ値は Params プロパティに格納されます。これらの値は、クライアント データセットがソース データセットからデータを取得すると、その出力パラメータの値に更新されます。ただし、データの取得時以外に、クライアント アプリケーション内の TClientDataSet コンポーネントで出力パラメータが必要になる場合があります。

レコードの取得時以外に出力パラメータを取得したり、入力パラメータを初期化する場合には、クライアント データセットで FetchParams メソッドを呼び出して、ソース データセットのパラメータ値を要求することができます。パラメータは、プロバイダからデータ パケットに入れて返され、クライアント データセットの Params プロパティに割り当てられます。

設計時には、クライアント データセットを右クリックして[パラメータの読み込み]を選択すると、Params プロパティを初期化できます。

メモ: クライアント データセットが内部プロバイダとソース データセットを使用している場合には、FetchParams を呼び出す必要はありません。Params プロパティには常に内部ソース データセットのパラメータの値が反映されているためです。TClientDataSetFetchParams メソッド(または[パラメータの読み込み]コマンド)が役に立つのは、クライアント データセットが接続されている先のプロバイダに、データセットがパラメータを指定できる機能が備わっている場合だけです。たとえば、ソース データセットがテーブルを表すデータセットである場合、取得できるパラメータはありません。

Params プロパティを使用して、パラメータ値をソース データセットに渡すこともできます。その方法の詳細は、「ソース データセットに渡すパラメータの指定」を参照してください。

プロバイダがステートレス アプリケーション サーバーの一部として別のシステム上にある場合には、FetchParams を使って出力パラメータを取得することはできません。ステートレス アプリケーション サーバーでは、他のクライアントがクエリやストアド プロシージャを変更して再実行した結果、FetchParams を呼び出す前に出力パラメータが変更される可能性があるためです。ステートレス アプリケーション サーバーから出力パラメータを取得するには、Execute メソッドを使用します。プロバイダがクエリやストアド プロシージャに関連付けられている場合、Execute は、クエリやストアド プロシージャを実行して出力パラメータを返すよう、プロバイダに指示します。そして、返されたパラメータを使用して、Params プロパティを更新します。

関連項目