FireDAC.Comp.Client.TFDCustomCommand.Execute
Delphi
procedure Execute(ATimes: Integer = 0; AOffset: Integer = 0; ABlocked: Boolean = False); overload;
function Execute(const ASQL: String): LongInt; overload;
function Execute(const ASQL: String; const AParams: array of Variant): LongInt; overload;
function Execute(const ASQL: String; const AParams: array of Variant;
const ATypes: array of TFieldType): LongInt; overload;
C++
void __fastcall Execute(int ATimes = 0x0, int AOffset = 0x0, bool ABlocked = false)/* overload */;
int __fastcall Execute(const System::UnicodeString ASQL)/* overload */;
int __fastcall Execute(const System::UnicodeString ASQL, const System::Variant *AParams, const int AParams_High)/* overload */;
int __fastcall Execute(const System::UnicodeString ASQL, const System::Variant *AParams, const int AParams_High, const Data::Db::TFieldType *ATypes, const int ATypes_High)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomCommand |
説明
SQL コマンドを実行します。
Execute メソッドは、以下のようにオーバーロード(多重定義)されています。
- 1 つ目のオーバーロード メソッドは、CommandText で指定された SQL コマンド(結果セットを返さないもの)を実行します。コマンドが結果セットを返しても、それはすべて破棄されます。コマンドは次のいずれかのモードで実行されます。
モード |
パラメータ値 |
意味 |
---|---|---|
標準/デフォルト。SQL コマンドは 1 度だけ実行されます。 |
|
SQL コマンド(挿入、更新、削除など)に影響される行の数。この情報は DBMS から提供されるもので、FireDAC での "再調査" は行われません。 |
配列 DML |
|
パラメータ配列項目ごとの成功したコマンド実行数。詳細は、「配列 DML」を参照。 |
- 2 つ目のオーバーロード メソッドは、
ASQL
パラメータで指定された SQL コマンド(結果セットを返さないもの)を実行します。コマンドが結果セットを返しても、それはすべて破棄されます。 - 3 つ目のオーバーロード メソッドは、
ASQL
パラメータで指定されたパラメータ化 SQL コマンド(結果セットを返さないもの)を実行します。コマンドが結果セットを返しても、それはすべて破棄されます。AParams
パラメータは、SQL コマンドのテキスト内に現れる順に割り当てられるパラメータ値のオープン配列を表します。 - 4 つ目のオーバーロード メソッドは、
ASQL
パラメータで指定されたパラメータ化 SQL コマンド(結果セットを返さないもの)を実行します。コマンドが結果セットを返しても、それはすべて破棄されます。このメソッドにはパラメータ データ型を指定する必要があります。AParams
パラメータは、SQL コマンドのテキスト内に現れる順に割り当てられるパラメータ値のオープン配列を表します。ATypes
パラメータは、パラメータ データ型のオープン配列を表します。
例
//First overloaded method
ADCommand1.CommandText.Text := 'create table MyTab (f1 number, f2 varchar2(10))';
ADCommand1.Execute;
//Second overloaded method
ADCommand1.Execute('DROP TABLE MyTab');
//Third overloaded method
ADCommand1.Execute('delete from MyTab where id = : id', [100]);\
//Fourth overloaded method
ADCommand1.Execute('insert into MyTab (id, bval) values (:id, :bval)', [100, StringOfChar('x', 100000)], [ftInteger, ftBLOB]);