version 2004
SQL SET PARAMETER (object; paramType)
Parameter | Type | Description | |
object | 4D object | 4D object to be used (variable, array or field) | |
paramType | Longint | Type of parameter |
Description
The SQL SET PARAMETER command allows the use of a 4D variable, array or field value in SQL requests.
Note: It is also possible to directly insert the name of a 4D object to be used (variable, array or field) between the << and >> characters in the text of the request (see example 1). For more information about this, please refer to the SQL Commands section.
- In the object parameter, pass the 4D object (variable, array or field) to be used in the request.
- In the paramType parameter, pass the SQL type of the parameter. You can pass a value or use one of the following constants, located in the "SQL" theme:
Constant | Type | Value |
SQL Param In | Longint | 1 |
SQL Param In Out | Longint | 2 |
SQL Param Out | Longint | 4 |
The value of the 4D object replaces the ? character in the SQL request (standard syntax).
If the request contains more than one ? character, several calls to SQL SET PARAMETER will be necessary. The values of the 4D objects will be assigned sequentially in the request, in accordance with the execution order of the commands.
Examples
1. This example is used to execute an SQL request which calls the associated 4D variables directly:
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. Same example as the previous one, but using the SQL SET PARAMETER command:
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
System Variables or Sets
If the command has been executed correctly, the system variable OK returns 1. Otherwise, it returns 0.