FireDAC.Comp.Client.TFDCustomStoredProc.ExecFunc

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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 */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomStoredProc


Beschreibung

Führt eine gespeicherte Funktion aus.

Diese Methode ist überladen:

  • Die erste überladene Methode führt eine gespeicherte Funktion in der DBMS-Sitzung aus und gibt ihren Wert zurück.
var
  v: Variant;
...
FDStoredProc1.StoredProcName := 'myfunc';
v := FDStoredProc1.ExecFunc;
  • Die zweite überladene Methode führt die angegebene gespeicherte Funktion in der DMBS-Sitzung aus und gibt ihren Wert zurück. AProcName kann eine überladene Anzahl, die nach ';' angegeben wird, einschließen.
var
  v: Variant;
...
v := FDStoredProc1.ExecFunc('myfunc');
  • Die dritte überladene Methode führt die angegebene gespeicherte Funktion aus, weist den Argumenten der gespeicherten Funktion Parameterwerte zu und gibt ihren Wert zurück. Die Werte von AParams werden den Eingabeparametern zugewiesen.
var
  v: Variant;
...
v := FDStoredProc1.ExecFunc('myfunc;2', [100, 'qweqwe']);
  • Die vierte überladene Methode führt die angegebene gespeicherte Funktion aus, weist den Argumenten der gespeicherten Prozedur Parameterdatentypen und -werte zu und gibt ihren Wert zurück.
var
  v: Variant;
...
v := FDStoredProc1.ExecFunc('myfunc', [100, 'qweqwe'], [ftInteger, ftWideString]);

Weisen Sie vor dem Aufruf von ExecFunc den Eigenschaften CatalogName, SchemaName, PackageName, Overload zusätzliche Namensteile der gespeicherten Funktion zu. Als Teil des Aufrufs von ExecFunc wird die SQL-Anweisung durch den Aufruf der gespeicherten Prozedur erstellt.  Mit ResourceOptions.CmdExecMode steuern Sie den asynchronen Ausführungsmodus und mit ResourceOptions.CmdExecTimeout setzen Sie die maximale Dauer für die Ausführung der gespeicherten Prozedur. Danach wird die Ausführung der gespeicherten Funktion abgebrochen und eine Exception ausgelöst. 

Um die Ausführung der gespeicherten Funktion abzubrechen, verwenden Sie TFDAdaptedDataSet.AbortJob.  Vor der Ausführung der gespeicherten Funktion wird das BeforeExecute-Ereignis ausgelöst. Wenn der Server einen Fehler bei der Ausführung der gespeicherten Funktion zurückgibt, dann löst FireDAC eine Exception aus. Der Fehler kann in dem OnError-Ereignis analysiert werden. Nachdem die gespeicherte Funktion ausgeführt wurde, wird das AfterExecute-Ereignis ausgelöst. 

Siehe auch