FireDAC.Comp.Client.TFDCustomQuery.DataSource
Delphi
property DataSource: TDataSource read GetDS write SetDS;
C++
__property Data::Db::TDataSource* DataSource = {read=GetDS, write=SetDS};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomQuery |
説明
詳細データセット パラメータに一致したフィールド値を取得するデータセットが関連づけらている、データソース オブジェクトを指定します。
DataSource プロパティを使用すると、別のデータセットからのフィールド値で、クエリ内のパラメータを自動的に埋めることができます。 他のデータセット内のフィールドに同じ名前のものがあるパラメータは、そのフィールドの値で埋められます。 他のデータセット内のフィールドに同じ名前のものがないパラメータは、自動的に値を取得することはできず、プログラムで設定しなければなりません。
マスタ データセットの現在位置が変更された、または、マスタ データセットのカレント レコード内のデータが変更された場合、このデータセット(詳細データセット)は、新しいマスタ データセットのフィールド値を使用するクエリを再オープンします。これが、想定する動作ではない場合、または、マスタ データセットを簡単に走査できる場合には、マスタ データセットに対して DisableControls / EnableControls を使用します。
例
MasterQuery.Open('select * from {id Orders}');
MasterSource.DataSet := MasterQuery;
DetailQuery.DataSource := MasterSource;
DetailQuery.Open('select * from {id Order Details} where OrderID = :OrderID');
// ここで: DetailQuery の OrderID パラメータが、OrderID フィールドの現在値を、
// MasterQuery から取得