Datasnap.DBClient.TCustomClientDataSet.Params
Delphi
property Params: TParams read FParams write SetParams;
C++
__property Data::Db::TParams* Params = {read=FParams, write=SetParams};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | protected | Datasnap.DBClient.pas Datasnap.DBClient.hpp |
Datasnap.DBClient | TCustomClientDataSet |
説明
プロバイダに送信されるパラメータ値を格納します。
Params プロパティを使用すると,プロバイダがソースデータセットに渡すパラメータ値を指定できます。クライアントデータセットが内部プロバイダを使用する場合,Params は,CommandText プロパティで指定した SQL 文が使用するパラメータの値を表します。クライアントデータセットが,問い合わせまたはストアドプロシージャを表すデータセットに関連付けられている外部プロバイダを使用する場合,これらのパラメータ値は,その問い合わせまたはストアドプロシージャに入力パラメータ値を提供し,ストアドプロシージャの出力パラメータを返します。プロバイダが TTable または TSQLTable コンポーネントに関連付けられている場合,Params limits は,データパケットで送信されるレコードを制限します。設計時または実行時にパラメータを指定すると,クライアントデータセットがデータをフェッチするか,Execute メソッドで問い合わせまたはストアドプロシージャを実行したときに,パラメータ値は自動的にプロバイダに送信されます。
パラメータ値を問い合わせまたはストアドプロシージャに送信するには,クライアントデータセットが値を送信する問い合わせまたはストアドプロシージャの各パラメータに対して,パラメータオブジェクト(TParam)を Params に追加します。各パラメータオブジェクトには,問い合わせまたはストアドプロシージャ上の対応するパラメータと同じ Name,DataType,および ParamType を代入します。これらの値は,自動的にコード化され,クライアントデータセットがデータをフェッチするときにプロバイダに送信されます。
パラメータ値を TTable または TSQLTable に送信するには,データパケットで送信される値を制限するのに使用するテーブルの各項目に対してパラメータオブジェクトを追加します。それぞれのパラメータオブジェクトには,テーブル上の対応する項目コンポーネントと同じ Name および DataType を代入します。これらのパラメータ値は,クライアントデータセットがデータをフェッチするときに自動的に送信されます。プロバイダからデータパケットで返されるレコードには,対応する項目上の代入された値に一致するレコードだけが格納されます。項目にフィルタを適用しても同様の効果が得られますが,データをデータパケットで送信する必要がないので,Params を使ったほうが効率的です。
メモ: プロバイダの関連する問い合わせまたはストアドプロシージャのパラメータが反映されるように Params を初期化するには,FetchParams メソッドを呼び出します。
警告: パラメータがプロバイダで適用されるのは,クライアントデータセットがレコードを初めて取得したときに問い合わせまたはストアドプロシージャが実行された場合だけです。パラメータ値を変更し,その新しい値で問い合わせまたはストアドプロシージャを再実行するには,Execute メソッドを使用します。