Query

Willemers Informatik-Ecke

Query und SQL

Zu den Eigenschaften eines TQuery-Elements gehört auch die Eigenschaft SQL. Bei Anklicken des danebenstehenden Buttons startet ein Editor, indem ein SQL-Statement erfasst wird.

Parameter an die Query

Durch Voranstellen eines Doppelpunktes wird ein Parameter gekennzeichnet. Dadurch lassen sich während des Programmablaufs verschiedene Abfragen realisieren. Da die Abfrage erst laufen kann, wenn das Programm läuft, ist die Query zunächst inaktiv, also ist die Eigenschaft Active false.

Im nächsten Schritt wird mit der Eigenschaft mit der Eigenschaft Params genauer definiert, wie die Parameter aussehen. Durch Anklicken des Buttons mit den Punkten erscheint ein Dialog, in dem die per Doppelpunkt verwendeten Parameter des SQL-Statements aufgelistet ist. Wird einer der Parameter ausgewählt, erscheint im Objektinspektor die Eigenschaften des Parameters. Insbesondere wird mit DataType der Datentyp festgelegt (ftDate, ftInteger, ftString u. a.) und mit dem ParamType wird festgelegt, ob die Parameter Input- oder Output-Parameter sind.

In der folgenden Sequenz werden die Parameter vom Programm aus gesetzt und die Query aktiv geschaltet:

DB->QAbrechnung->Active = false;
DB->QAbrechnung->ParamByName("quartalstart")->AsDate = AbrStart->DateTime;
DB->QAbrechnung->ParamByName("quartalend")->AsDate = AbrEnde->DateTime;
DB->QAbrechnung->Active = true;

Bevor die Parameter geändert werden können, muss Active wieder auf false geschaltet sein. Am sichersten macht man das direkt vor der Änderung. Ansonsten verwendet das Programm weiterhin die bisherigen Parameter.

In der SQL-Abfrage werden die Parameter dann folgendermaßen angesprochen:

select xxx from yyyy
   where abrechnung > :quartalstart
   and   abrechnung < :quartalend;

Homepage (C) Copyright 2002 Arnold Willemer