Parameter zur Laufzeit setzen
Nach oben zu Parameter in Abfragen verwenden
Für die Definition von Parametern zur Laufzeit stehen die folgenden Möglichkeiten zur Verfügung:
- Weisen Sie den Parametern mit der Methode ParamByName Werte über den Parameternamen zu (steht für Objekte vom Typ TADOQuery nicht zur Verfügung).
- Verwenden Sie die Eigenschaft Params oder Parameters um den Parametern Werte über ihre Position innerhalb der SQL-Anweisung zuweisen.
- Sie weisen einem oder mehreren Parametern innerhalb einer einzigen Befehlszeile mithilfe der Eigenschaft Params.ParamValues oder Parameters.ParamValues abhängig von den Namen der verschiedenen Parametergruppen Werte zu
Im folgenden Quelltext wird der in einem Eingabefeld enthaltene Text über die Methode ParamByName dem Parameter :Capital zugewiesen:
SQLQuery1.ParamByName('Capital').AsString := Edit1.Text;
SQLQuery1->ParamByName("Capital")->AsString = Edit1->Text;
Derselbe Quelltext würde bei Verwendung der Eigenschaft Params mit dem Index 0 folgendermaßen aussehen (dabei wird angenommen, dass der Parameter :Capital der erste Parameter in der SQL-Anweisung ist):
SQLQuery1.Params[0].AsString := Edit1.Text;
SQLQuery1->Params->Items[0]->AsString = Edit1->Text;
Die folgende Befehlszeile setzt unter Verwendung der Eigenschaft Params.ParamValues drei Parameter gleichzeitig:
Query1.Params.ParamValues['Name;Capital;Continent'] :=
VarArrayOf([Edit1.Text, Edit2.Text, Edit3.Text]);
Query1->Params->ParamValues["Name;Capital;Continent"] =
VarArrayOf(OPENARRAY(Variant, (Edit1->Text, Edit2->Text, Edit3->Text)));
Für ParamValues werden Varianten verwendet, sodass für die Werte keine Typumwandlung durchgeführt werden muss.