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.
Ayuda / Editores / Editor de consultas / Consulta con parámetros
  • 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/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
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 una 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. Para obtener más información, consulte Cómo utilizar una consulta con parámetros en una reporte.
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 valores de los parámetros se restablecen cada vez que se ejecuta la consulta con HExecuteQuery.
  • Si se especifica al menos un parámetro en HExecuteQuery, se ignoran todos los parámetros especificados anteriormente.
  • 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.
Evitar especificar todos los parámetros

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..
PHP Todos los parámetros esperados deben ser necesariamente introducidos.
Ejemplo: Consideremos la consulta "QRY_Customer_LastName_FirstName" con el siguiente código SQL:
SELECT * FROM CUSTOMER WHERE LASTNAME = {Param1} AND FIRSTNAME = {Param2}
  • Si se especifican los 2 parámetros:
    HExecuteQuery(QRY_Customers_LastName_FirstName, hQueryDefault, "Smith", "John")
    ejecutará la consulta
    SELECT * FROM CUSTOMER WHERE LASTNAME = 'Smith' AND FIRSTNAME = 'John'
  • Si solo se especifica el apellido:
    HExecuteQuery(QRY_Customers_LastName_FirstName, hQueryDefault, "Smith" )
    ejecutará la consulta
    SELECT * FROM CUSTOMER WHERE LASTNAME= 'Smith'
  • Si solo se especifica el nombre. Sin embargo, el nombre debe ser especificado y debe corresponder a Null.
    sLastName is Variant = Null
    // Use of variant required
    // for the Null variable (not filled)
     
    HExecuteQuery(QRY_Customers_LastName_FirstName, hQueryDefault, sLastName, "John")
     
    // OR
     
    HExecuteQuery(QRY_Customers_LastName_FirstName, hQueryDefault, Null, "John")
    ejecutará la consulta:
    SELECT * FROM CUSTOMER WHERE FIRSTNAME= 'John'
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

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local