4D v12.4

SQL SET PARAMETER

Home

 
4D v12.4
SQL
SQL SET PARAMETER

 

SQL SET PARAMETER 


 

SQL SET PARAMETER ( object ; paramType ) 
Parameter Type   Description
object  4D object in 4D object to be used (variable, array or field)
paramType  Longint in Type of parameter

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 Overview of 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.

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)
    SQL CANCEL LOAD
 End for
 SQL LOGOUT

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)
    SQL CANCEL LOAD
 End for
 SQL LOGOUT

If the command has been executed correctly, the system variable OK returns 1. Otherwise, it returns 0.

 
PROPERTIES 

Product: 4D
Theme: SQL
Number: 823

The OK variable is changed by the command

 
HISTORY 

Created: 4D 2004