FireDAC.Comp.Client.TFDCustomStoredProc.ExecProc

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure ExecProc; overload;
function ExecProc(const AProcName: String): LongInt; overload;
function ExecProc(const AProcName: String; const AParams: array of Variant): LongInt; overload;
function ExecProc(const AProcName: String; const AParams: array of Variant;  const ATypes: array of TFieldType): LongInt; overload;

C++

void __fastcall ExecProc()/* overload */;
int __fastcall ExecProc(const System::UnicodeString AProcName)/* overload */;
int __fastcall ExecProc(const System::UnicodeString AProcName, const System::Variant *AParams, const int AParams_High)/* overload */;
int __fastcall ExecProc(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
procedure
function
public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomStoredProc


Beschreibung

Führt die angegebene gespeicherte Prozedur in der DBMS-Sitzung aus.

Diese Methode ist überladen:

  • Die erste überladene Methode führt die angegebene gespeicherte Prozedur in der DBMS-Sitzung aus.
FDStoredProc1.StoredProcName := 'myproc';
FDStoredProc1.Prepare;
FDStoredProc1.ParamByName('inval').Value := 100;
FDStoredProc1.ExecProc;
ShowMessage(FDStoredProc1.ParamByName('outval').AsString);
  • Die zweite überladene Methode führt die angegebene gespeicherte Prozedur in der DBMS-Sitzung aus. AProcName kann eine überladene Anzahl, die nach ';' angegeben wird, einschließen.
FDStoredProc1.ExecProc('myproc');
  • 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.
FDStoredProc1.ExecProc('myproc;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.
FDStoredProc1.ExecProc('myproc', [100, 'qweqwe'], [ftInteger, ftWideString]);

Rufen Sie ExecProc auf, um eine gespeicherte Prozedur mithilfe des Namens der aktuell zugewiesenen gespeicherten Prozedur in der DBMS-Sitzung auszuführen. Mit ExecProc führen Sie gespeicherte Prozeduren aus, die keinen Cursor auf die Daten zurückgeben. 

Weisen Sie vor dem Aufruf von ExecProc den Eigenschaften CatalogName, SchemaName, PackageName, StoredProcName, Overload den Namen der gespeicherten Prozedur zu. Wenn fiMeta sich in FetchOptions.Items befindet, dann rufen Sie die Methode Prepare auf. Danach wird die Eigenschaft Params mit Parametern gefüllt. Ansonsten, wenn fiMeta sich nicht in FetchOptions.Items befindet, stellen Sie eine korrekte Parametermenge in der Eigenschaft Params bereit und rufen Sie dann die Methode Prepare auf. Danach wird die SQL-Anweisung durch Aufruf einer gespeicherten Prozedur erstellt und Parameter gebunden. 

Danach weisen Sie den Eingabeparametern Werte zu und rufen ExecProc auf. Nach der Rückgabe von ExecProc können Sie die Werte der Ausgabeparameter lesen. 

Mit ResourceOptions.CmdExecMode können Sie den asynchronen Ausführungsmodus steuern. Mit ResourceOptions.CmdExecTimeout können Sie die maximale Dauer für die Ausführung der Anweisung festlegen. Nach dieser Dauer wird die Ausführung abgebrochen und eine Exception ausgelöst.

Mit TFDAdaptedDataSet.AbortJob brechen Sie die Anweisungsausführung ab. 

Vor der Anweisungsausführung wird das Ereignis BeforeExecute ausgelöst. Wenn der Server bei der Anweisungsausführung einen Fehler zurückgibt, dann löst FireDAC eine Exception aus. Der Fehler kann im OnError-Ereignis analysiert werden. Nach dem Abschluss der Anweisungsausführung wird das AfterExecute-Ereignis ausgelöst.

Siehe auch