FireDAC.Comp.Script.TFDScript.ExecuteAll
Delphi
function ExecuteAll(AParser: TFDScriptParser): Boolean; overload;
function ExecuteAll: Boolean; overload;
C++
bool __fastcall ExecuteAll(TFDScriptParser* AParser)/* overload */;
bool __fastcall ExecuteAll()/* overload */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | FireDAC.Comp.Script.pas FireDAC.Comp.Script.hpp |
FireDAC.Comp.Script | TFDScript |
Description
Exécute un script SQL.
Appelez la méthode ExecuteAll pour exécuter le script SQL.
TFDScript vous permet d'exécuter un script à partir d'un fichier pointé par SQLScriptFileName, s'il est spécifié. Sinon, elle vous permet d'exécuter un script à partir de la propriété SQL de l'élément avec un index zéro de la collection SQLScripts.
Le script est exécuté complètement, incluant tous les appels de scripts imbriqués. L'exécution du script est arrêtée, si l'une des conditions suivantes survient :
- Toutes les commandes de script sont traitées.
- La méthode AbortJob est appelée.
- La propriété Finished est définie sur True.
- La commande EXIT | QUIT | STOP est trouvée et traitée dans le script.
- Une exception est déclenchée par l'une des commandes de script, l'option IgnoreError vaut False et l'option BreakOnError vaut True.
Les exceptions déclenchées à l'exécution des commandes de script ne sont pas propagées en dehors de la méthode ExecuteAll. Pour vérifier l'état d'achèvement du script, utilisez :
- La valeur de résultat de la méthode. Si elle vaut True, aucune erreur n'est survenue. Si elle vaut False, au moins une erreur est survenue.
- La propriété TotalErrors. Elle renvoie le nombre total des erreurs survenues à l'exécution du script.
- La propriété Status. Elle a la valeur
ssFinishWithErrors
, si une erreur qui a arrêté l'exécution du script est survenue.
Avant l'exécution, le gestionnaire d’événement BeforeExecute est appelé. Après la fin de l'exécution, le gestionnaire d'événement AfterExecute est appelé. L'exécution d'un script peut être imbriquée. Le gestionnaire d'événement BeforeScript est appelé avant le démarrage de chaque script. Après la fin d'un script, le gestionnaire d'événement AfterScript est appelé.
Alternativement, un script peut être exécuté par la méthode ExecuteFile ou ExecuteScript.
Exemple 1
FDScript1.SQLScriptFileName := 'c:\temp\createdb.sql'; FDScript1.ExecuteAll;
Exemple 2
Le code suivant montre comment envelopper l'exécution du script en transaction :
FDConnection1.StartTransaction; try FDScript1.ExecuteAll; finally if FDScript1.TotalErrors > 0 then FDConnection1.Rollback else FDConnection1.Commit; end;