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 / WLanguage / Sintaxis WLanguage / Palabras clave reservadas
  • 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
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
Presentación
El Nulo puede ser usada de acuerdo a diferentes métodos en WLanguage:
Null y las consultas

Ignorar los parámetros: Nulo en HExecuteQuery

Cuando se ejecuta una consulta con parámetros con HExecuteQuery, no es necesario especificar algunos parámetros de consulta. 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")

    ejecutará 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")

    ejecutará 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")

    ejecutará 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 la control está vacía, 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:
SELECT NameOfItems
FROM 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_EditControl1Opción"NULL if empty" seleccionada para EDT_EditControl1Ejecución de código SQL
Ningún valorOpción seleccionadaSELECT NameOfItems
FROM NameOfFiles
Ningún valorOpción no seleccionadaSELECT NameOfItems
FROM NameOfFiles
DONDE EL Ítem = ' ' '
Se introduce un valorOpción marcada o no marcadaSELECT NameOfItems
FROM NameOfFiles
DÓNDE Elemento = 'ValueEntered' (valor ingresado)
Nulo y las variantes
Para especificar que una variable de tipo Variant no contiene ningún valor, utilice 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 Null como parámetro para especificar que el parámetro no toma valor.
Por ejemplo:
TreeAdd, TreeInsertNulo le permite no mostrar ninguna Image para los diferentes niveles de elementos añadidos.
TreeListItemNull se usa para listar los hijos desde la raíz del árbol.
TreeModifyNulo permite no modificar la Image definida por TreeAdd
INIWriteNull 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
Versión mínima requerida
  • Versión 10
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