- Presentación
- Null y las consultas
- Ignorar los parámetros: Nulo en HExecuteQuery
- Parámetros de una consulta procedente de una control Campo de entrada: Null si está vacío
- Nulo y las variantes
- Nulo y los valores numéricos
- Null y las funciones WLanguage
- Nulo y los objetos dinámicos
Ignorar los parámetros: Nulo en HExecuteQuery Cuando una consulta con parámetros es ejecutada por HExecuteQuery, algunos parámetros de consulta no necesariamente tienen que ser especificados.. Se ignorarán las condiciones de consulta que utilicen parámetros no especificados o cuyo valor sea Nulo. Ejemplo: Consideremos la consulta "Cliente_Apellido_Nombre" cuyo código SQL es el siguiente:
SELECT * FROM CUSTOMER WHERE LASTNAME = {Param1} AND FIRSTNAME = {Param2}
- Caso 1: Se especifican los 2 parámetros
HExecuteQuery(Customer_LastName_FirstName, hQueryDefault, "Smith", "John")
se ejecuta la consulta:
SELECT * FROM CUSTOMER WHERE LASTNAME = 'Smith' AND FIRSTNAME = 'John'
- Caso 2: Sólo se especifica el apellido
HExecuteQuery(Customer_LastName_FirstName, hQueryDefault, "Smith")
se ejecuta la consulta
SELECT * FROM CUSTOMER WHERE LASTNAME= 'Smith'
- Caso 3: Sólo se especifica el nombre de pila
// use the mandatory variant for the Null variable (not filled) sLastName is Variant = Null HExecuteQuery(Customer_LastName_FirstName, hQueryDefault, sLastName, "Vince")
O
HExecuteQuery(Customer_LastName_FirstName, hQueryDefault, Null, "Vince")
se ejecuta la consulta
SELECT * FROM CUSTOMER WHERE FIRSTNAME= 'John'
Parámetros de una consulta procedente de una control Campo de entrada: Null si está vacío Para que su consulta se ejecute aunque el usuario no haya escrito ningún valor, marque "NULL if empty" para los controles de edición (pestaña "Detalles" del control description). Cuando esta opción está marcada, si el control está vacío, el valor del parámetro pasado a la consulta corresponderá a la constante NULL. Por lo tanto, no se produce ningún error al ejecutar la consulta: se ignorarán las condiciones relativas a este parámetro. Por ejemploes la ejecución de código SQL:
SELECCIONE NameOfItems
DE NameOfFiles
WHERE Item = {Param1}
La consulta "Ex1" se ejecuta en el botón "Btn_OK" mediante la función HExecuteQuery. El código WLanguage utilizado es el siguiente:
HExecuteQuery(Ex1, hQueryDefault, EDT_EditControl1)
En este código, EDT_Editcontrol 1 corresponde al control en el que el usuario debe introducir el parámetro de la consulta. Para este ejemplo, la tabla a continuación describe el uso de "NULL if empty": | | | Valor introducido por el usuario en EDT_EditControl1 | Opción"NULL if empty" seleccionada para EDT_EditControl1 | Ejecución de código SQL |
---|
Ningún valor | Opción seleccionada | SELECCIONE NameOfItems DE NameOfFiles | Ningún valor | Opción no seleccionada | SELECCIONE NameOfItems DE NameOfFiles DONDE Item = ' ' ' ' ' ' '. | Se introduce un valor | Opción marcada o no marcada | SELECCIONE NameOfItems DE NameOfFiles WHERE Item = 'ValueEntered'. |
Para especificar que una variante Variable no contiene ningún valor, use la constante NULL. Observaciones: - Para un tipo de variante, NULL significa "No asignado".
- Para un tipo numérico, NULL significa "igual a 0" (ver abajo)
vVal is Variant IF vVal = Null THEN ... // The test returns True because the variant is not assigned END vVal = 0 IF vVal = Null THEN ... // The test returns False because the variant is assigned // with an integer whose value is 0 END vVal = 5 IF vVal = Null THEN ... // The test returns False because the variant is assigned // with an integer whose value is 5 END
Nulo y los valores numéricos Se utiliza con valores numéricos, Nulo permite comparar un valor con 0. Solo se pueden utilizar operadores de comparación de igualdad y de diferencia (operador = y <>). Observaciones: - Para un tipo de variante, NULL significa "No asignado" (véase Above)
- Para un tipo numérico, NULL significa "igual a 0".
nVal is int IF vVal = Null THEN ... // The test returns True because nVal=0 END nVal = 5 IF vVal = Null THEN ... // The test returns False because nVal=5 END
Null y las funciones WLanguage Algunas funciones de WLanguage aceptan Nulo en el parámetro para especificar que el parámetro no toma ningún valor. Algunos ejemplos: | | TreeAdd, TreeInsert | Null le permite no mostrar Image para los diferentes niveles de elementos agregados. | TreeListItem | Null se usa para listar los hijos desde la raíz del árbol. | TreeModify | Nulo le permite no modificar el Image definido por TreeAdd | INIWrite | Null se utiliza para eliminar una palabra clave o una sección del archivo INI. |
Nulo y los objetos dinámicos Para los objetos dinámicos (clase, estructura, array, objeto de automatización, etc.), Null permite saber si el objeto ha sido creado o no. Por ejemplo:
// Declare a dynamic automation object MyDynamicObject is dynamic Automation object ...
IF MyDynamicObject = Null THEN // Create a dynamic automation object MyDynamicObject = new object Automation dynamic MyServer END
Esta página también está disponible para…
|
|
|