|
|
|
|
- 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
Dos métodos para pasar parámetros a una consulta
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. 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.
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.. 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'
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|