API:FireDAC.Comp.Client.TFDQuery.SQL

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property SQL: TStrings read GetSQL write SetSQL;

C++

__property SQL;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
property published
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDQuery

Beschreibung

Enthält den Text der SQL-Anweisung, die von der Abfrage ausgeführt werden soll.

FireDAC.Comp.Client.TFDQuery.SQL erbt von FireDAC.Comp.Client.TFDCustomQuery.SQL. Der folgende Inhalt bezieht sich auf FireDAC.Comp.Client.TFDCustomQuery.SQL.

Enthält den Text der SQL-Anweisung, die von der Abfrage ausgeführt werden soll.

Mit der Eigenschaft SQL geben Sie die SQL-Anweisung an, die von einer Abfrage ausgeführt (Execute)/ExecSQL/geöffnet (Open) wird. 

Beim Entwurf kann die Eigenschaft SQL durch Aufrufen des Dialogfeldes FireDAC-Abfrageeditor bearbeitet werden. Doppelklicken Sie dazu auf die TFDCustomQuery-Komponente. Das Dialogfeld bietet einen Syntaxhervorhebungs-Editor, einen Abfragegenerator, die Möglichkeit, die Abfrage zu testen, usw. 

Die Eigenschaft SQL kann eine SQL-Anweisung oder eine SQL-Stapelanweisung enthalten, die aus mehreren SQL-Anweisungen oder einem Codeblock, der in der Server-Programmiersprache erstellt wurde, besteht. Mit der TFDScript-Komponente können Sie ein SQL-Skript mit vollem Funktionsumfang ausführen. 

Die SQL-Anweisung in der Eigenschaft SQL kann auch Folgendes enthalten:

  • Parametermarker, die den Standardkonventionen der SQL-92-Syntax entsprechen. Parameter werden automatisch erstellt und in der Eigenschaft Params gespeichert, wenn ResourceOptions.ParamCreate den Wert True hat. Wenn ParamBindMode den Wert pbByName hat, dann wird ein einziges Element in Params für alle Vorkommen desselben Markers erstellt. Wenn ParamBindMode den Wert pbByNumber hat, dann wird ein Element für jeden Marker erstellt.
  • Marker für Substitutionsvariablen. Makros werden automatisch erstellt und in der Eigenschaft Macros gespeichert, wenn ResourceOptions.MacroCreate den Wert True hat.
  • Escape-Sequenzen. Ermöglichen das Schreiben von DBMS-unabhängigen SQL-Anweisungen.
  • Bedingte Substitutionen. Ermöglichen das bedingte Erweitern der SQL-Anweisung, abhängig von in der Anwendung definierten Attributen.

Einzelheiten dazu finden Sie unter Vorverarbeiten von Anweisungstext

Um die Performance beim Hinzufügen von großen SQL-Abfragen zu der Eigenschaft mit Hilfe der Methoden TStringList zu steigern, schließen Sie diesen Code in SQL.BeginUpdate / SQL.EndUpdate ein. 

Nach dem Füllen dieses Eigenschaftswerts wird die Param-Kollektion automatisch gefüllt, wenn ResourceOptions.ParamCreate den Wert True hat.

Beispiel

FDQuery1.SQL.BeginUpdate;
try
  FDQuery1.SQL.Add('SELECT ...');
  FDQuery1.SQL.Add('...');
  FDQuery1.SQL.Add('...');
  FDQuery1.SQL.Add('WHERE ID = :ID');
finally
  FDQuery1.SQL.EndUpdate;
end;
FDQuery1.ParamByName('ID').AsInteger := 100;
FDQuery1.Open;

Siehe auch