4D v12.4SQL SET PARAMETER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SQL SET PARAMETER
|
SQL SET PARAMETER ( objeto ; tipoParam ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
objeto | Objeto 4D |
![]() |
Objeto 4D a utilizar (variable, array o campo) | |||||
tipoParam | Entero largo |
![]() |
Tipo de parámetro | |||||
El comando SQL SET PARAMETER permite el uso del valor de una variable, array o campo 4D en las peticiones SQL.
Nota: igualmente es posible insertar directamente el nombre de un objeto 4D a utilizar (variable, array o campo) entre los caracteres << y >> en el texto de la petición (ver ejemplo 1). Para mayor información, consulte la sección .
- En el parámetro objeto, pase el objeto 4D (variable, array o campo) a utilizar en la petición.
- En el parámetro tipoParam, pase el tipo SQL del parámetro. Puede pasar un valor o utilizar una de las siguientes constantes, ubicadas en el tema “SQL”:
Constante | Tipo | Valor |
SQL Param In | Entero largo | 1 |
SQL Param In Out | Entero largo | 2 |
SQL Param Out | Entero largo | 4 |
El valor del objeto 4D reemplaza al carácter ? en la petición SQL (sintaxis estándar).
Si la solicitud contiene más de un carácter ?, serán necesarias varias llamadas a SQL SET PARAMETER. Los valores de los objetos 4D serán asignados secuencialmente en la petición, de acuerdo con el orden de ejecución de los comandos.
Este ejemplo se utiliza para ejecutar una petición SQL la cual llama directamente a las variables 4D asociadas:
C_TEXT(MiTexto)
C_LONGINT(MiEnteroLargo)
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<<MiTexto>>, <<MienteroLargo>>)"
For(vContador;1;10)
MiTexto:="Text"+String(vContador)
MiEnteroLargo:=vContador
SQL EXECUTE(SQLStmt)
SQL CANCEL LOAD
End for
SQL LOGOUT
El mismo ejemplo anterior, pero utilizando el comando SQL SET PARAMETER:
C_TEXT(MiTexto)
C_LONGINT(MiEnteroLargo)
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (?,?)"
For(vCounter;1;10)
MiTexto:="Text"+String(vContador)
MiEnteroLargo:=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
Si el comando se ha ejecutado correctamente, la variable sistema OK devuelve 1. De lo contrario, devuelve 0.
Producto: 4D
Tema: SQL
Número
823
Creado por: 4D 2004