FireDAC.Comp.Script.TFDScript.ExecuteAll

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function ExecuteAll(AParser: TFDScriptParser): Boolean; overload;
function ExecuteAll: Boolean; overload;

C++

bool __fastcall ExecuteAll(TFDScriptParser* AParser)/* overload */;
bool __fastcall ExecuteAll(void)/* overload */;

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;

Siehe auch