FireDAC.Comp.Client.TFDCustomStoredProc.ExecProc

De RAD Studio API Documentation
Aller à : navigation, rechercher

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

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomStoredProc


Description

Exécute la procédure stockée spécifiée dans la session SGBD.

Cette méthode est surchargée :

  • La première méthode surchargée exécute la procédure stockée spécifiée dans la session SGBD.
FDStoredProc1.StoredProcName := 'myproc';
FDStoredProc1.Prepare;
FDStoredProc1.ParamByName('inval').Value := 100;
FDStoredProc1.ExecProc;
ShowMessage(FDStoredProc1.ParamByName('outval').AsString);
  • La seconde méthode surchargée exécute la fonction stockée spécifiée dans la session SGBD. AProcName peut inclure un nombre de surcharge après ';'.
FDStoredProc1.ExecProc('myproc');
  • La troisième méthode surchargée exécute la fonction stockée spécifiée, affecte des valeurs de paramètres pour les arguments de fonction stockés et renvoie sa valeur. Les valeurs de AParams sont affectées aux paramètres d'entrée.
FDStoredProc1.ExecProc('myproc;2', [100, 'qweqwe']);
  • La quatrième méthode surchargée exécute la fonction stockée spécifiée, affecte les types de données et les valeurs des paramètres pour les arguments des procédures stockées et renvoie sa valeur.
FDStoredProc1.ExecProc('myproc', [100, 'qweqwe'], [ftInteger, ftWideString]);

Appelez ExecProc pour exécuter une procédure stockée dans la session SGBD, en utilisant le nom de la procédure stockée actuellement stockée. Utilisez ExecProc pour exécuter des procédures stockées qui ne renvoient pas un curseur aux données. 

Avant d'appeler ExecProc, affectez le nom de la procédure stockée aux propriétés CatalogName, SchemaName, PackageName, StoredProcName, Overload. Si fiMeta est dans FetchOptions.Items, appelez la méthode Prepare. Puis la propriété Params sera remplie avec des paramètres. Sinon, si fiMeta n'est pas dans FetchOptions.Items, fournissez un ensemble de paramètres correct dans la propriété Params, ensuite appelez la méthode Prepare. Puis, en appelant une procédure stockée, l'instruction SQL est construite et les paramètres sont liés. 

Puis affectez des valeurs aux paramètres d'entrée et appelez ExecProc. Après le retour de ExecProc, vous pouvez lire les valeurs des paramètres de sortie. 

Utilisez ResourceOptions.CmdExecMode pour contrôler le mode d'exécution asynchrone et ResourceOptions.CmdExecTimeout pour définir le temps d'exécution maximal de la procédure stockée. Après ce temps, l'exécution de la procédure stockée est annulée et une exception est déclenchée. 

Pour annuler l'exécution de la procédure stockée, utilisez TFDAdaptedDataSet.AbortJob

Avant l'exécution de la procédure stockée, l'événement BeforeExecute est déclenché. Si le serveur renvoie une erreur d'exécution de la procédure stockée, FireDAC déclenche une exception. Elle peut être analysée dans l'événement OnError. Après la fin de l'exécution de la procédure stockée, l'événement AfterExecute est déclenché.

Voir aussi