FireDAC.Comp.Client.TFDCustomConnection.ExecSQL
Delphi
function ExecSQL(const ASQL: String; AIgnoreObjNotExists: Boolean = False): LongInt; overload;
function ExecSQL(const ASQL: String; const AParams: array of Variant): LongInt; overload;
function ExecSQL(const ASQL: String; const AParams: array of Variant; const ATypes: array of TFieldType): LongInt; overload;
function ExecSQL(const ASQL: String; AParams: TFDParams): LongInt; overload;
function ExecSQL(const ASQL: String; AParams: TFDParams; var AResultSet: TDataSet): LongInt; overload;
function ExecSQL(const ASQL: String; var AResultSet: TDataSet): LongInt; overload;
C++
int __fastcall ExecSQL(const System::UnicodeString ASQL, bool AIgnoreObjNotExists = false)/* overload */;
int __fastcall ExecSQL(const System::UnicodeString ASQL, System::Variant const *AParams, const int AParams_High)/* overload */;
int __fastcall ExecSQL(const System::UnicodeString ASQL, System::Variant const *AParams, const int AParams_High, Data::Db::TFieldType const *ATypes, const int ATypes_High)/* overload */;
int __fastcall ExecSQL(const System::UnicodeString ASQL, Firedac::Stan::Param::TFDParams* AParams)/* overload */;
int __fastcall ExecSQL(const System::UnicodeString ASQL, Firedac::Stan::Param::TFDParams* AParams, Data::Db::TDataSet* &AResultSet)/* overload */;
int __fastcall ExecSQL(const System::UnicodeString ASQL, Data::Db::TDataSet* &AResultSet)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
説明
SQL コマンドを実行し、影響を受けた行数を返します。
ExecSQL は、以下のパラメータを特定の組み合わせで受け取ります。
ASQL
: 実行する SQL 文を含む文字列です。AResultSet
: TDataSet のインスタンスです。ExecSQL は、SQL 文への応答としてデータベース管理システムから返されたデータをここに設定します。AParams
: 指定した SQL 文に渡すパラメータを指定するバリアント配列または TFDParams インスタンスです。ATypes
: 指定したパラメータの型を示すフィールド型の配列です。特定のパラメータの型を指定したくない場合にはftUnknown
を使用します。AIgnoreObjNotExists
: ExecSQL で "オブジェクトが存在しない" という例外を無視(隠蔽)する必要があるか(True
)、ないか(False
)を示します。このメソッドは、DROP IF EXISTS
構文をサポートしていないデータベース管理システムに対してDROP
文を実行するときなどに有用です。AIgnoreObjNotExists
の値を指定できないシグネチャを使用した場合は、すべての例外が伝播されます。
例
FDConnection1.ExecSQL('truncate table tab1');
FDConnection1.ExecSQL('drop table tab2', True);
FDConnection1.ExecSQL('delete from mytab where id > :p1', [1000]);
FDConnection1.ExecSQL('update mytab where id = :p1 set blobfld = :blb',
[1000, StringOfChar('x', 100000)], [ftInteger, ftBLOB]);