Version 2004
SQL SET PARAMETER (Objekt; ParamTyp)
Parameter | Typ | Beschreibung | |
Objekt | 4D Objekt | 4D Objekt (Variable, Array oder Feld) | |
ParamTyp | Lange Ganzzahl | Parametertyp |
Beschreibung
Mit dem Befehl SQL SET PARAMETER können Sie in SQL Anfragen eine 4D Variable, ein Array oder Wert eines Feldes verwenden.
Hinweis: Sie können den Namen des zu verwendenden 4D Objekts (Variable, Array oder Feld) im Text der Anfrage auch direkt zwischen << und >> einfügen (siehe Beispiel 1). Weitere Informationen dazu finden Sie im Abschnitt SQL Befehle.
- Im Parameter Objekt übergeben Sie das gewünschte 4D Objekt (Variable, Array oder Feld) für die Anfrage.
- Im Parameter ParamTyp übergeben Sie den Parameter vom Typ SQL. Sie können einen Wert übergeben oder eine der folgenden Konstanten unter dem Thema SQL verwenden:
Konstante | Typ | Wert |
SQL Param In | Lange Ganzzahl | 1 |
SQL Param In Out | Lange Ganzzahl | 2 |
SQL Param Out | Lange Ganzzahl | 4 |
Der Wert des 4D Objekts ersetzt das Fragezeichen (?) in der SQL Anfrage (Standardsyntax).
Enthält die Anfrage mehr als ein Fragezeichen, muss der Befehl SQL SET PARAMETER mehrmals aufgerufen werden. Die Werte der 4D Objekte werden in der Anfrage sequentiell zugewiesen, und zwar in Übereinstimmung mit der Ausführungsreihenfolge der Befehle.
Beispiele
1. Dieses Beispiel führt eine SQL Anfrage aus, die direkt die zugewiesenen 4D Variablen aufruft:
C_TEXT(MyText) C_LONGINT(MyLongint) SQL LOGIN("mysql";"root";"") SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<<MyText>>, <<MyLongint>>)" For (vCounter;1;10) MyText:="Text"+String(vCounter) MyLongint:=vCounter SQL EXECUTE(SQLStmt) End for
2. Dasselbe Beispiel wie oben, jedoch mit dem Befehl SQL SET PARAMETER:
C_TEXT(MyText) C_LONGINT(MyLongint) SQL LOGIN("mysql";"root";"") SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (?,?)" For (vCounter;1;10) MyText:="Text"+String(vCounter) MyLongint:=vCounter SQL SET PARAMETER(MyText;SQL Param In) SQL SET PARAMETER(MyLongint;SQL Param In) SQL EXECUTE(SQLStmt) End for
Systemvariablen oder Mengen
Bei korrekt ausgeführtem Befehl hat die Systemvariable OK den Wert 1, sonst den Wert 0 (Null).