|
|
|
|
|
- Présentation
- Null et les requêtes
- Ignorer des paramètres : Null dans la fonction HExécuteRequête
- Paramètres d'une requête provenant d'un champ de saisie : Null si vide
- Null et les variants
- Null et les valeurs numériques
- Null et les fonctions du WLangage
- Null et les objets dynamiques
Le mot-clé Null peut être utilisé de différentes manières en WLangage : - Pour indiquer qu'un paramètre ne doit pas être pris en compte dans une requête. Consultez le paragraphe "Null et les requêtes" de cette page.
- Pour spécifier qu'une variable de type variant ne contient pas de valeur. Consultez le paragraphe "Null et les variants" de cette page.
- Pour comparer une valeur à 0. Consultez le paragraphe "Null et les numériques" de cette page.
- Dans certaines fonctions du WLangage, pour indiquer que le paramètre ne doit pas être pris en compte. Consultez le paragraphe "Null et les fonctions du WLangage" de cette page.
- Pour vérifier si un objet dynamique est alloué ou non. Consultez le paragraphe "Null et les objets dynamiques" de cette page.
Ignorer des paramètres : Null dans la fonction HExécuteRequête Lors de l'exécution d'une requête paramétrée avec la fonction HExécuteRequête, tous les paramètres de la requête ne doivent pas obligatoirement être précisés. Les conditions de la requête utilisant des paramètres non précisés ou ayant pour valeur Null seront ignorés. Exemple : Soit la requête "Clients_nom_prénom" dont le code SQL est le suivant : SELECT * FROM CLIENT WHERE NOM = {Param1} AND PRENOM = {Param2} - Cas 1 : Les 2 paramètres sont donnés
HExécuteRequête(Clients_nom_prénom, hRequêteDéfaut, "Dupond", "Jean")
exécutera la requête :
SELECT * FROM CLIENT WHERE NOM = 'Dupond' AND PRENOM = 'Jean'
- Cas 2 : Seul le nom est donné
HExécuteRequête(Clients_nom_prénom, hRequêteDéfaut, "Dupond")
exécutera la requête
SELECT * FROM CLIENT WHERE NOM = 'Dupond'
- Cas 3 : Seul le prénom est donné
// utilisation du variant obligatoire pour variable de type Null (non renseignée) sNom est un Variant = Null HExécuteRequête(Clients_nom_prénom, hRequêteDéfaut, sNom, "Jean")
Ou
HExécuteRequête(Clients_nom_prénom, hRequêteDéfaut, Null, "Jean")
exécutera la requête
SELECT * FROM CLIENT WHERE PRENOM = 'Jean'
Paramètres d'une requête provenant d'un champ de saisie : Null si vide Pour que votre requête s'exécute même si aucune valeur n'est saisie par l'utilisateur, cochez l'option "NULL si vide" des champs de saisie (onglet "Détail" de la description du champ). Grâce à cette option, si le champ est vide, la valeur du paramètre renvoyée à la requête correspondra à la constante NULL. Ainsi, lors de l'exécution de la requête, aucune erreur n'est générée : la ou les conditions dépendant de ce paramètre sont simplement ignorées. Par exemple, le code SQL exécuté est : SELECT NomDesRubriques
FROM NomDesFichiers
WHERE Rubrique = {Param1} La requête "Ex1" est exécutée dans le bouton "Btn_OK" par la fonction HExécuteRequête. Le code WLangage utilisé est le suivant : HExécuteRequête(Ex1, hRequêteDéfaut, SAI_ChampSaisie1)
Dans ce code, SAI_ChampSaisie1 correspond au champ dans lequel l'utilisateur doit saisir le paramètre de la requête. Pour cet exemple, le tableau ci-dessous décrit l'utilisation de l'option "NULL si vide" : | | | Valeur saisie par l'utilisateur dans le champ SAI_ChampSaisie1 | Option "NULL si vide" cochée pour le champ SAI_ChampSaisie1 | Code SQL exécuté |
---|
Aucune valeur | Option cochée | SELECT NomDesRubriques FROM NomDesFichiers | Aucune valeur | Option décochée | SELECT NomDesRubriques FROM NomDesFichiers WHERE Rubrique = ' ' | Une valeur est saisie | Option cochée ou décochée | SELECT NomDesRubriques FROM NomDesFichiers WHERE Rubrique = 'ValeurSaisie' |
Pour spécifier qu'une variable de type Variant ne contient pas de valeur, il suffit d'utiliser la constante NULL. Remarques : - Pour un type variant, NULL signifie "Pas affecté"
- Pour un type numérique, NULL signifie "égal 0" (voir ci-dessous)
vVal est un Variant SI vVal = Null ALORS ... // Le test renvoie Vrai car le variant n'est pas affecté FIN  vVal = 0 SI vVal = Null ALORS ... // Le test renvoie Faux car le variant est affecté // avec un entier de valeur 0 FIN  vVal = 5 SI vVal = Null ALORS ... // Le test renvoie Faux car le variant est affecté // avec un entier de valeur 5 FIN
Null et les valeurs numériques Utilisé avec des valeurs numériques, Null permet de comparer une valeur à 0. Il est uniquement possible d'utiliser les opérateurs de comparaison d'égalité et de différence (opérateur = et opérateur <>). Remarques : - Pour un type variant, NULL signifie "Pas affecté" (voir ci dessus)
- Pour un type numérique, NULL signifie "égal 0"
nVal est un entier SI nVal = Null ALORS ... // Le test renvoie Vrai car nVal=0 FIN Â nVal = 5 SI nVal = Null ALORS ... // Le test renvoie Faux car nVal=5 FIN
Null et les fonctions du WLangage Certaines fonctions du WLangage acceptent en paramètre Null pour spécifier que le paramètre ne prend aucune valeur. Quelques exemples : | | ArbreAjoute, ArbreInsère | Null permet de ne pas afficher d'images pour les différents niveaux des éléments ajoutés. | ArbreListeFils | Null permet de lister les fils à partir de la racine de l'arbre. | ArbreModifie | Null permet de ne pas modifier l'image définie avec la fonction ArbreAjoute | INIEcrit | Null permet de supprimer un mot-clé ou une section dans le fichier INI |
Null et les objets dynamiques Pour tous les objets dynamiques (classe, structure, tableau, objet automation, ...), Null permet de savoir si l'objet est alloué ou non. Par exemple : // Déclaration d'un l'objet automation dynamique MonObjetDynamique est un objet Automation dynamique ...  SI MonObjetDynamique = Null ALORS // Création d'un l'objet automation dynamique MonObjetDynamique = allouer un objet Automation dynamique MonServeur FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|