|
|
|
|
|
- Présentation
- Utiliser la fonction HExécuteRequête pour passer les paramètres à une requête
- Syntaxe à utiliser
- Utiliser la notation .
- Syntaxe à utiliser
- Ne pas spécifier tous les paramètres
- Paramètres de la requête non précisés
Deux méthodes pour passer des paramètres à une requête
Pour passer des paramètres à une requête paramétrée utilisée dans une fenêtre ou dans un champ (par exemple champ Liste, Combo ou Table), le WLangage offre deux possibilités : - soit passer les paramètres directement dans la fonction WLangage HExécuteRequête.
- soit utiliser la notation <Nom de la requête>.<Nom du paramètre>, puis la fonction HExécuteRequête.
Cette page d'aide présente le mode d'utilisation et les avantages de chacune de ces méthodes. Utiliser la fonction HExécuteRequête pour passer les paramètres à une requête Syntaxe à utiliser Lors de l'exécution d'une requête avec la fonction HExécuteRequête, les derniers paramètres passés à la fonction correspondent aux paramètres de la requête. La syntaxe utilisée est la suivante :
<Résultat> = HExécuteRequête(<Nom requête> [, <Connexion>] [, <Mode> [, <Paramètres> [, ...]]]) Attention : Dans ce cas : - Les valeurs des paramètres de la requête doivent être indiquées dans leur ordre d'initialisation (visible sous l'éditeur de requêtes). Chaque paramètre doit correspondre au type attendu. Les différents paramètres sont séparés par une virgule.
- Pour spécifier les paramètres de la requête, il est nécessaire de spécifier le mode d'initialisation de la requête.
Utiliser la notation <Nom de la requête>.<Nom du paramètre> Syntaxe à utiliser Pour passer des paramètres à une requête, il est possible de préciser au moteur HFSQL tous les paramètres de la requête avant d'exécuter la requête. Cette méthode permet de préciser les différents paramètres dans n'importe quel ordre (intéressant pour les requêtes nécessitant de nombreux paramètres). La syntaxe à utiliser est la suivante :
<Nom de la requête>.<Nom du paramètre 1> = <Valeur du paramètre 1> <Nom de la requête>.<Nom du paramètre 2> = <Valeur du paramètre 2> ... <Nom de la requête>.<Nom du paramètre N> = <Valeur du paramètre N>
<Résultat> = HExécuteRequête(<Nom de la requête> [, <Connexion>] [, <Mode>]) Attention : - Le nom du paramètre doit être le nom spécifié lors de la création de la requête sous l'éditeur de requête. Ce nom doit être différent d'un nom de rubrique.
- Il n'est pas possible d'utiliser d'opérateurs d'indirection ou la compilation dynamique (fonction Compile) avec cette syntaxe.
- A chaque exécution de la requête avec la fonction HExécuteRequête, les paramètres sont ré-initialisés (remis à 0).
- Si au moins un paramètre est spécifié dans la fonction HExécuteRequête, tous les paramètres spécifiés précédemment seront ignorés.
- La valeur du paramètre peut correspondre à NULL.
- Si un des paramètres n'est pas précisé, la condition correspondante ne sera pas prise en compte.
Ne pas spécifier tous les paramètres Paramètres de la requête non précisés Quelle que soit la façon de passer les paramètres à la requê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 seront ignorées. Exemple : Soit la requête "REQ_Clients_nom_prénom" dont le code SQL est le suivant :
SELECT * FROM CLIENT WHERE NOM = {Param1} AND PRENOM = {Param2} - Les 2 paramètres sont donnés :
HExécuteRequête(REQ_Clients_nom_prénom, hRequêteDéfaut, "Dupond", "Jean")
exécutera la requête
SELECT * FROM CLIENT WHERE NOM = 'Dupond' AND PRENOM = 'Jean' - Seul le nom est donné :
HExécuteRequête(REQ_Clients_nom_prénom, hRequêteDéfaut, "Dupond" )
exécutera la requête
SELECT * FROM CLIENT WHERE NOM = 'Dupond' - Seul le prénom est donné. Le nom doit cependant être spécifié et correspondre à NULL.
sNom est un Variant = Null
HExécuteRequête(REQ_Clients_nom_prénom, hRequêteDéfaut, sNom, "Jean")
HExécuteRequête(REQ_Clients_nom_prénom, hRequêteDéfaut, Null, "Jean")
exécutera la requête :
SELECT * FROM CLIENT WHERE PRENOM = 'Jean'
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|