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または、コマンド オブジェクトの TFDCustomCommand.CommandText に割り当てられるコマンド。これは、 SelectCommand に割り当てられます。アダプタ オブジェクトは 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