FireDAC.Comp.Client.TFDQuery.SQL
Delphi
property SQL;
C++
__property SQL;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDQuery |
説明
クエリを実行するための SQL 文のテキストを保持します。
FireDAC.Comp.Client.TFDQuery.SQL は FireDAC.Comp.Client.TFDCustomQuery.SQL を継承しています。以下の内容はすべて FireDAC.Comp.Client.TFDCustomQuery.SQL を参照しています。
クエリを実行するための SQL 文のテキストを保持します。
SQL プロパティを使用すると、SQL コマンドを指定することができ、そこでクエリは Execute / ExecSQL / Open を行います。
設計時には、SQL プロパティは FireDAC クエリ エディタ ダイアログを呼び出すことで、編集することができます。そのためには、TFDCustomQuery コンポーネント上でダブルクリックをしてください。ダイアログでは、構文強調表示エディタ、クエリ ビルダ、クエリその他をテストする機能などが提供されています。
SQL プロパティは、SQL コマンドや、複数の SQL コマンドからなる「バッチ」SQL コマンド、サーバー側のプログラミング言語で記述されたコードのブロックなどを、保有することができます。フル機能の SQL スクリプトを実行するには、TFDScript コンポーネントを使用します。
SQL プロパティ内の SQL 文は、次も保有することができます:
- パラメータ マーカー(標準 SQL-92 構文規約に従う)。パラメータは、自動的に作成され Params プロパティに格納されます(ResourceOptions.ParamCreate が True の場合)。ParamBindMode が
pbByName
の場合、同じマーカの出現箇所すべてに対し、1 つの項目が Params 内に作成されます。ParamBindMode がpbByNumber
の場合には、各マーカー毎に 1 つの項目が作成されます。 - 置換変数マーカー。マクロは、自動的に作成され Macros プロパティに格納されます(ResourceOptions.MacroCreate が True の場合)。
- エスケープ シーケンス。これらにより、DBMS 非依存の SQL コマンドを記述することができます。
- 条件付き置換。これらにより、アプリケーション定義属性によって、条件別に SQL コマンドを展開することができます。
詳細については、「コマンド テキストのプリプロセス」を参照してください。
TStringList メソッドを使用して、プロパティに大きな SQL クエリを追加する際のパフォーマンスを向上させるには、このコードを、SQL.BeginUpdate / SQL.EndUpdate で囲みます。
このプロパティ値を埋めた後に、ResourceOptions.ParamCreate
が True の場合、Param
コレクションは自動的に埋められます。
例
FDQuery1.SQL.BeginUpdate;
try
FDQuery1.SQL.Add('SELECT ...');
FDQuery1.SQL.Add('...');
FDQuery1.SQL.Add('...');
FDQuery1.SQL.Add('WHERE ID = :ID');
finally
FDQuery1.SQL.EndUpdate;
end;
FDQuery1.ParamByName('ID').AsInteger := 100;
FDQuery1.Open;