FireDAC.Comp.DataSet.TFDDataSet.Execute
Delphi
procedure Execute(ATimes: Integer = 0; AOffset: Integer = 0); virtual;
C++
virtual void __fastcall Execute(int ATimes = 0x0, int AOffset = 0x0);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp |
FireDAC.Comp.DataSet | TFDDataSet |
説明
SQL コマンドを実行します。
Execute を呼び出して、以下の下位クラス プロパティに現在割り当てられている SQL 文を実行することができます。
- TFDCustomQuery.SQL。
- TFDCustomStoredProc.StoredProcName。
- TFDCustomMemTable.Adapter.SelectCommand.CommandText。または、コマンド オブジェクト(SelectCommand に割り当てられているもの)の TFDCustomCommand.CommandText に割り当てられているコマンド。アダプタ オブジェクトは Adapter に割り当てられています。
Execute を使用して、データのカーソルを返さないクエリ(INSERT、UPDATE、DELETE、CREATE TABLE、CALL、BEGIN .. END など)を実行することができます。SELECT 文などカーソルを返すものの場合は、Execute ではなく Open を呼び出してください。
Execute では、SQL 文の準備がまだの場合には、実行できるよう準備をします。パフォーマンスを向上するには、Execute を最初に呼び出す前に、アプリケーションで通常どおり Prepare メソッドを呼び出してください。
ResourceOptions.CmdExecMode を使用して非同期実行モードを制御することができます。また、ResourceOptions.CmdExecTimeout を使用してコマンド実行の最大時間を設定することができます。その時間が過ぎると、コマンド実行はキャンセルされ、例外が発生します。
コマンド実行をキャンセルするには、AbortJob を使用します。
コマンドの実行前に、BeforeExecute イベントが発生します。サーバーからコマンド実行エラーが返されると、FireDAC は例外を発生させます。これは OnError イベント内で分析することができます。コマンド実行が終了すると、出力パラメータが Params プロパティに設定され、AfterExecute イベントが発生します。
ATimes
が 0 または 1 の場合、コマンドは標準モードで実行されます。それ以外の場合は、配列 DML モードで実行されます。デフォルトでは ATimes
および AOffset
は 0 です。ATimes
にはパラメータ配列のサイズを指定します。AOffset
には、パラメータ配列のどの行インデックスから配列 DML コマンドの実行を開始するかを指定します。ATimes
は Params.ArraySize 以下でなければなりません。それより大きい場合には例外が発生します。
コマンドを実行した後、アプリケーションで RowsAffected プロパティの値を見ると、最後のコマンド実行によってどれだけの数のデータベース レコードが影響を受けたかを確認することができます。
例
var
i: Integer;
....
FDQuery1.SQL.Text := 'insert into mytab values (:p1, :p2)';
FDQuery1.Params.ArraySize := 10;
for i := 0 to FDQuery1.Params.ArraySize - 1 do begin
FDQuery1.Params[0].AsIntegers[i] := i;
FDQuery1.Params[1].AsStrings[i] := 'qwe';
end;
FDQuery1.Execute(FDQuery1.Params.ArraySize, 0);
関連項目
- コマンドの実行
- 配列 DML
- FireDAC.Comp.Client.TFDCustomQuery.SQL
- FireDAC.Comp.Client.TFDCustomQuery.ExecSQL
- FireDAC.Comp.Client.TFDCustomStoredProc.StoredProcName
- FireDAC.Comp.Client.TFDCustomStoredProc.ExecProc
- FireDAC.Comp.Client.TFDAdaptedDataSet.AbortJob
- FireDAC.Comp.Client.TFDCustomMemTable.Adapter
- FireDAC.Comp.Client.TFDRdbmsDataSet.Prepare
- FireDAC.Comp.Client.TFDRdbmsDataSet.OnError
- FireDAC.Comp.DataSet.TFDDataSet.BeforeExecute
- FireDAC.Comp.DataSet.TFDDataSet.AfterExecute