FireDAC.Comp.Client.TFDCustomStoredProc.ExecProc
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
- Executing Stored Procedure
- FireDAC.Comp.Client.TFDRdbmsDataSet.Prepare
- FireDAC.Comp.Client.TFDCustomStoredProc.CatalogName
- FireDAC.Comp.Client.TFDCustomStoredProc.SchemaName
- FireDAC.Comp.Client.TFDCustomStoredProc.PackageName
- FireDAC.Comp.Client.TFDCustomStoredProc.StoredProcName
- FireDAC.Comp.Client.TFDCustomStoredProc.Overload
- FireDAC.Comp.Client.TFDAdaptedDataSet.AbortJob
- FireDAC.Comp.Client.TFDAdaptedDataSet.OnError