FireDAC.Comp.Script.TFDScript.ExecuteAll

De RAD Studio API Documentation
Aller à : navigation, rechercher

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;

Voir aussi