PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Syntaxe de déclaration : Remarques
  • Code SQL de la requête
  • Contexte HFSQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Le type "Requête SQL" permet d'écrire une requête SQL directement dans le code WLangage. La requête SQL est définie et déclarée. Elle peut ensuite être exécutée par la fonction HExécuteRequête ou la fonction HExécuteRequêteSQL.
L'utilisation du type "Requête SQL" permet de profiter de nombreux avantages :
  • Coloration automatique du code SQL sous l'éditeur,
  • Assistance à la saisie de code SQL,
  • Assistance à la saisie sur les rubriques résultat et les paramètres de la requête,
  • Erreurs de compilation :
    • en cas d'erreur dans le code SQL
    • en cas d'utilisation d'une rubrique de sortie inexistante.
  • Databinding sur la requête si elle est déclarée comme globale à une fenêtre,
  • Libération automatique en fin de portée de la variable.
Exemple
reqStatVols est une Requête SQL =
[
SELECT * FROM  Vols
WHERE Vols.IDAéroportDépart = {ParamIDAéroportDépart}
AND Vols.IDAéroportArrivée = {ParamIDAéroportArrivée}
]
reqStatVols.ParamIDAéroportDépart = 12
reqStatVols.ParamIDAéroportArrivée = 3

HExécuteRequête(reqStatVols)
POUR TOUT reqStatVols
...
FIN
Syntaxe

Déclarer une requête SQL Masquer les détails

<Nom Requête SQL> est une Requête SQL =
[    
   <Code SQL de la requête>
]
<Nom Requête SQL> :
Nom de la variable correspondant à la requête SQL.
<Code SQL de la requête> :
Code SQL correspondant à la requête SQL associé à la variable.
Remarques

Syntaxe de déclaration : Remarques

  • La requête doit être définie dès sa déclaration. Il n'est pas possible de déclarer une variable de type Requête SQL puis de saisir le code SQL correspondant après quelques lignes de code.
  • Les fichiers de données utilisés dans le FROM de la requête doivent être déclarés dans l'analyse du projet. Ils ne peuvent pas provenir de sources de données initialisées par un alias, une déclaration externe ou une autre requête.
  • La requête SQL ne peut pas être construite avec des concaténations de chaînes. Pour construire une requête par concaténations de chaînes, il faut utiliser la fonction HExécuteRequêteSQL.
  • La requête SQL n'est pas exécutée lors de sa déclaration. Il est nécessaire de l'exécuter à l'aide de la fonction HExécuteRequête ou de la fonction HExécuteRequêteSQL.
  • Lorsque la requête est déclarée et exécutée, elle peut être manipulée par toutes les fonctions HFSQL qui manipulent des requêtes.
  • Lorsque la requête SQL est déclarée et exécutée, elle peut être utilisée dans une autre requête SQL en utilisant le nom de la variable correspondante :
    MonInterrogation est une Requête SQL =
    [
    SELECT * FROM CLIENT
    ]
    HExécuteRequête(MonInterrogation)

    AutreInterrogation est une chaîne = "SELECT * FROM %1"
    AutreInterrogation = ChaîneConstruit(AutreInterrogation, MonInterrogation..Nom)

    ReqAvecMonInterrogation est une Source de Données
    HExécuteRequêteSQL(ReqAvecMonInterrogation, AutreInterrogation)

Code SQL de la requête

  • Le code SQL saisi bénéficie de la coloration syntaxique. Les mots-clés du SQL sont colorés (voir exemple).
  • Complétion : La complétion est disponible :
    • sur les mots-clés SQL,
    • sur les rubriques et les fichiers de données,
    • sur les rubriques de sortie de la requête.
      La saisie SQL assistée
      La saisie SQL assistée
  • Erreurs de compilation : En cas d'erreur dans le code SQL de la requête, une erreur de compilation est générée (comme pour du code WLangage).
    Erreur de code SQL détectée en saisie
    Erreur de code SQL détectée en saisie
  • De la même manière que dans une requête SQL saisie sous l'éditeur de requêtes, il est possible de :
    • saisir des commentaires en les faisant précéder des caractères "--" ou "//".
    • saisir des fonctions WLangage. Il suffit de préfixer les fonctions WLangage utilisées par les lettres "WL.". La saisie assistée est disponible.
      AndroidWidget AndroidJava Il n'est pas possible d'exécuter des requêtes SQL contenant des fonctions WLangage.
    • ...

Contexte HFSQL

  • Une requête SQL est définie dans le contexte HFSQL courant. Dans une fenêtre à contexte HFSQL indépendant, une requête SQL peut ne pas exister.
  • Une requête SQL peut être définie comme une variable globale. Dans ce cas, il est nécessaire de faire attention aux contextes HFSQL.
Version minimum requise
  • Version 23
Documentation également disponible pour…
Commentaires
erreur WDJAVA avec Sqlite sous Android
Ne fonctionne pas avec Sqlite sous Android: erreur framework WDJAVA
Ne fonctionne pas en INSERT avec des valeurs de paramètres comportant un espace
Stephane
03 juil. 2019
Inconvénient
Lorsqu'on modifie le code de la requête, on doit mettre à jour tout le site (bibilothèque WDL)
HAYTHEM
28 juin 2019
Fonctionne pas sur Android
sur Windev Mobile en mode simulateur ca fonctionne mais pas en mode Android
Philippe LECLERCQ
17 avr. 2018