PC SOFT

AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente. Haga clic aquí para ver la versión en inglés.
  • Presentación
  • Usando HExecuteQuery para pasar parámetros a una consulta
  • Sintaxis a utilizar
  • Usando la notación . (Nombre del parámetro)
  • Sintaxis a utilizar
  • Evitar especificar todos los parámetros
  • Parámetros de consulta no especificados
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Dos métodos para pasar parámetros a una consulta
Presentación
Se pueden utilizar dos métodos para pasar parámetros a una consulta con parámetros utilizados en una ventana o en un control (List Box, Combo Box o control Tabla por ejemplo):
Esta página de ayuda presenta el modo de funcionamiento y las ventajas de cada uno de estos métodos.
Observación: El método para pasar parámetros difiere si la consulta con parámetros se utiliza en un reporte. Consulte Cómo utilizar una consulta con parámetros en una reporte para obtener más detalles.
Observación: A partir de la versión 19, HFSQL es el nuevo nombre de HyperFileSQL.
Usando HExecuteQuery para pasar parámetros a una consulta

Sintaxis a utilizar

Cuando una consulta es ejecutada por HExecuteQuery, los últimos parámetros pasados a la función corresponden a los parámetros de la consulta.
Se utiliza la siguiente sintaxis:
<Result> = HExecuteQuery(<Query name> [, <Connection>] [, <Mode>
[ , <Parameters> [, ...]]])
Atención: En este caso:
  • Los valores de los parámetros de la consulta deben ser especificados en su orden de inicialización (Visible en el editor de la consulta). Cada parámetro debe corresponder al tipo esperado. Los parámetros están separados por una coma.
  • Para especificar los parámetros de la consulta, debe especificar el modo de inicialización de la consulta.
Usando la notación <Query name>.<Parameter name> (Nombre del parámetro)

Sintaxis a utilizar

Para pasar parámetros a una consulta, todos los parámetros de la consulta pueden ser especificados al motor HFSQL antes de ejecutar la consulta.. Este método permite especificar los parámetros en cualquier orden (useful para las consultas que requieren varios parámetros).
Se debe utilizar la siguiente sintaxis:
<Query name>.<Name of parameter 1> = <Value of parameter 1>
<Query name>.<Name of parameter 2> = <Value of parameter 2>
...
<Query name>.<Name of parameter N> = <Value of parameter N>

<Result> = HExecuteQuery(<Query name>
[ , <Connection>] [, <Mode>])
Atención:
  • El nombre del parámetro debe ser el nombre especificado cuando se creó la consulta en el editor de consultas.. Este nombre debe diferir del nombre de una posición.
  • La operadores indirectos o la compilación dinámica (Compilar) no pueden utilizarse con esta sintaxis.
  • Los parámetros se reinician (reset a 0) cada vez que la consulta es ejecutada por HExecuteQuery.
  • Si se especifica al menos un parámetro en HExecuteQuery, se ignoran todos los parámetros especificados de antemano.
  • El valor del parámetro puede corresponder a NULL.
  • Si no se especifica uno de los parámetros, se ignora la condición correspondiente.
PHP Todos los parámetros esperados deben ser necesariamente introducidos.
AndroidJava Todos los parámetros esperados deben ser necesariamente introducidos.
Evitar especificar todos los parámetros
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsAndroidiPhone/iPadWindows MobileJavaHFSQLHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos

Parámetros de consulta no especificados

Independientemente del método utilizado para pasar parámetros a la consulta, no es necesario especificar todos los parámetros de la consulta.. Las condiciones de la consulta que utilizan parámetros no especificados se ignorarán..
Ejemplo: Consideremos la consulta "QRY_Customer_LastName_FirstName" cuyo código SQL es el siguiente:
SELECT * FROM CUSTOMER WHERE LASTNAME = {Param1} AND FIRSTNAME = {Param2}
  • Si se especifican los 2 parámetros:
    HExecuteQuery(QRY_Customers_LName_FName, hQueryDefault, ...
    "Smith", "John")
    se ejecuta la consulta
    SELECT * FROM CUSTOMER WHERE LASTNAME = 'Smith' AND FIRSTNAME = 'John'
  • Sólo se especifica el nombre:
    HExecuteQuery(QRY_Customer_LastName_FirstName, hQueryDefault, "Smith" )
    se ejecuta la consulta
    SELECT * FROM CUSTOMER WHERE LASTNAME= 'Smith'
  • Si solo se especifica el nombre. Sin embargo, debe especificarse el nombre y éste debe corresponder a NULL.
    sName is Variant = Null
    // Use of variant required
    // for the Null variable (not filled)

    HExecuteQuery(QRY_Customers_LName_FName, hQueryDefault, ...
    sLastName, "John")

    // OR

    HExecuteQuery(QRY_Customers_LName_FName, hQueryDefault, ...
    Null, "John")
    se ejecuta la consulta:
    SELECT * FROM CUSTOMER WHERE FIRSTNAME= 'John'
AndroidJava Observación: Todos los parámetros esperados deben ser necesariamente introducidos.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario