FireDAC.Comp.Client.TFDCustomStoredProc.ExecFunc

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function ExecFunc: Variant; overload;
function ExecFunc(const AProcName: String): Variant; overload;
function ExecFunc(const AProcName: String; const AParams: array of Variant): Variant; overload;
function ExecFunc(const AProcName: String; const AParams: array of Variant;
const ATypes: array of TFieldType): Variant; overload;

C++

System::Variant __fastcall ExecFunc()/* overload */;
System::Variant __fastcall ExecFunc(const System::UnicodeString AProcName)/* overload */;
System::Variant __fastcall ExecFunc(const System::UnicodeString AProcName, const System::Variant *AParams, const int AParams_High)/* overload */;
System::Variant __fastcall ExecFunc(const System::UnicodeString AProcName, const System::Variant *AParams, const int AParams_High, const Data::Db::TFieldType *ATypes, const int ATypes_High)/* overload */;

プロパティ

種類 可視性 ソース ユニット
function public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomStoredProc

説明

ストアド関数を実行します。

このメソッドは、以下のようにオーバーロード(多重定義)されています。

  • 第1オーバーロード メソッドは、DBMS セッション内のストアド関数を実行し、その値を返します。
 
 var
   v: Variant;
 ...
 FDStoredProc1.StoredProcName := 'myfunc';
 v := FDStoredProc1.ExecFunc;
  • 第2オーバーロード メソッドは、DBMS セッション内の指定されたストアド関数を実行し、その値を返します。AProcName は、「;」の後に指定されたオーバーロード数を含むことができます。
 
 var
   v: Variant;
 ...
 v := FDStoredProc1.ExecFunc('myfunc');
  • 第3オーバーロード メソッドは、指定されたストアド関数を実行し、ストアド関数の引数に対してパラメータ値を割り当て、その値を返します。AParams 値は、入力パラメータに割り当てられます。
 
 var
   v: Variant;
 ...
 v := FDStoredProc1.ExecFunc('myfunc;2', [100, 'qweqwe']);
  • 第4オーバーロード メソッドは、指定されたストアド関数を実行し、ストアド proc 引数に対してパラメータ データ型を割り当て、その値を返します。
 
 var
   v: Variant;
 ...
 v := FDStoredProc1.ExecFunc('myfunc', [100, 'qweqwe'], [ftInteger, ftWideString]);

ExecFunc を呼び出す前に、ストアド関数の補足的な名前の部分を、CatalogNameSchemaNamePackageNameOverload の各プロパティに割り当てます。ExecFunc 呼び出しの一部として、SQL 文がストアド プロシージャを呼び出して構築されます。ResourceOptions.CmdExecMode を使用すると、非同期実行モードを制御することができ、ResourceOptions.CmdExecTimeout では、ストアド関数の実行最大回数を設定することができます。その回数の後、ストアド関数の実行はキャンセルされ、例外が発生します。

ストアド関数実行をキャンセルするには、TFDAdaptedDataSet.AbortJob を使用します。ストアド関数実行の前には、BeforeExecute イベントが発生します。サーバーがストアド関数実行エラーを返した場合、FireDAC は例外を発生させます。 これは、OnError イベント内で解析できます。 ストアド関数実行が完了した後には、AfterExecute イベントが発生します。

関連項目