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(void)/* overload */;
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | FireDAC.Comp.Script.pas FireDAC.Comp.Script.hpp |
FireDAC.Comp.Script | TFDScript |
Beschreibung
Führt ein SQL-Skript aus.
Rufen Sie die Methode ExecuteAll auf, um das SQL-Skript auszuführen.
TFDScript ermöglicht die Ausführung eines Skripts, auf das SQLScriptFileName zeigt, falls angegeben. Ansonsten ermöglicht die Methode die Ausführung eines Skripts aus der Eigenschaft SQL des Elements mit dem Index 0 aus der SQLScripts-Kollektion.
Das Skript wird vollständig ausgeführt, einschließlich aller Aufrufe von verschachtelten Skripts. Die Skriptausführung wird beendet, wenn einer der folgenden Fälle auftritt:
- Alle Skriptanweisungen wurden verarbeitet.
- Die Methode AbortJob wird aufgerufen.
- Die Methode Finished wird auf True gesetzt.
- Die Anweisung EXIT | QUIT | STOP ist vorhanden und wird in dem Skript verarbeitet.
- Eine Exception wird von einer der Skriptanweisungen ausgelöst, die IgnoreError-Option ist False und die BreakOnError-Option ist True.
Die Exceptions, die während der Ausführung der Skriptanweisungen ausgelöst wurden, werden nicht außerhalb der Methode ExecuteAll weitergegeben. Zum Überprüfen des Ausführungsstatus des Skripts verwenden Sie:
- Den Ergebniswert der Methode. Wenn er True ist, dann sind keine Fehler aufgetreten. Wenn er False ist, dann ist mindestens ein Fehler aufgetreten.
- Die Eigenschaft TotalErrors. Sie gibt die Gesamtanzahl der Fehler zurück, die während der Skriptausführung aufgetreten sind.
- Die Eigenschaft Status. Sie hat den Wert
ssFinishWithErrors
, wenn die Skriptausführung durch einen Fehler angehalten wurde.
Vor der Ausführung wird die Ereignisbehandlungsroutine für BeforeExecute aufgerufen. Nach der Ausführung wird die Ereignisbehandlungsroutine für AfterExecute aufgerufen. Eine Skriptausführung kann verschachtelt werden. Die Ereignisbehandlungsroutine für BeforeScript wird vor dem Start jedes Skripts aufgerufen. Nachdem ein Skript beendet wurde, wird die Ereignisbehandlungsroutine für AfterScript aufgerufen.
Alternativ kann ein Skript von der Methode ExecuteFile oder ExecuteScript ausgeführt werden.
Beispiel 1
FDScript1.SQLScriptFileName := 'c:\temp\createdb.sql'; FDScript1.ExecuteAll;
Beispiel 2
Der folgende Code zeigt, wie die Skriptausführung in eine Transaktion verschachtelt werden kann:
FDConnection1.StartTransaction; try FDScript1.ExecuteAll; finally if FDScript1.TotalErrors > 0 then FDConnection1.Rollback else FDConnection1.Commit; end;