DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / Fonctions SQL
  • Récupérer la valeur d'une colonne
  • Transférer le contenu de la requête dans une table
  • Récupération de rubriques de type Float sur Oracle (via ODBC)
  • Utilisation de tabulations dans les rubriques
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Associe automatiquement chaque colonne du résultat de la requête à un champ ou à une variable de l'application. Après l'exécution de la fonction SQLAssocie, il est nécessaire de parcourir le résultat de la requête : l'affectation des champs ou des variables sera alors effectuée pour chaque enregistrement lu.
Remarque : Cette fonction doit être utilisée lors d'un parcours de type "SQLPremier/SQLCol". Pour plus de détails sur les différents types de parcours du résultat d'une requête, consultez Types de parcours SQL.
Exemple
ResExec est un booléen
ResExec = SQLExec("SELECT NOMCLI,ADR1,ADR2,VILLE,CP FROM FACT", "REQ2")
SI ResExec = Vrai ALORS
SQLAssocie("REQ2", NomCli, Adr[1], Adr[2], Ville, CodePostal)
SQLPremier("REQ2")
SINON
// Traite erreur
FIN
SQLFerme("REQ2")
Syntaxe
SQLAssocie(<Nom de la requête> , <Liste des opérateurs>)
<Nom de la requête> : Chaîne de caractères
Nom de la requête créée et exécutée avec la fonction SQLExec (le nom de la requête doit être entouré de guillemets) ou exécutée avec la fonction SQLExecWDR (avec ou sans guillemets).
<Liste des opérateurs> : Chaînes de caractères séparées par des virgules
Liste des noms de champs ou de variables qui seront automatiquement associés aux colonnes correspondantes de la requête (250 maximum). Ces opérateurs sont séparés par des virgules. L'ordre de ces opérateurs doit correspondre à l'ordre des colonnes de la requête.
Remarques

Récupérer la valeur d'une colonne

La valeur d'une colonne peut être récupérée individuellement grâce à la fonction SQLCol.
HFSQL ClassicHFSQL Client/ServeurConnecteurs Natifs (Accès Natifs)

Transférer le contenu de la requête dans une table

Pour transférer tout le contenu de la requête dans une table, utilisez la fonction SQLTable.
Connecteurs Natifs (Accès Natifs)

Récupération de rubriques de type Float sur Oracle (via ODBC)

Par défaut, le séparateur décimal utilisé pour les rubriques de type Float sur Oracle est le point. Or le driver ODBC renvoie la valeur avec en utilisant la virgule comme séparateur décimal. Lors de l'affectation de la valeur dans un champ de type numérique, les décimales sont perdues.
Pour éviter ce problème, il suffit de configurer le séparateur décimal pour la connexion en cours :
// Connexion à la base de données Oracle 
SQLConnecte("MaBaseOracle", "User", "Passe", "", "ODBC") 
// Requête pour changer le séparateur décimal 
SQLExec("ALTER SESSION SET NLS_NUMERIC_CHARACTERS ='. '", "ReqTemp")

Utilisation de tabulations dans les rubriques

Les fonctions SQL permettent d'insérer des tabulations dans les rubriques des fichiers de données. La gestion des tabulations dépend du mode d'accès utilisé.
1er cas : Exécution d'une requête en ODBC :
Lors de l'exécution d'une requête en ODBC, les tabulations ne sont pas récupérées par la fonction SQLAssocie. Pour récupérer les valeurs des rubriques (avec les caractères TAB), il est conseillé d'utiliser un parcours du type SQLAvance/SQLLitCol.
Exemple : SQLAssocie et les tabulations dans les rubriques
Les rubriques des enregistrements à récupérer sont les suivantes :
Rubrique 1Rubrique 2
Enregistrement 1JohnSmith
Enregistrement 2John + tab + MacDoughnut
Pour le premier enregistrement :
  • SQLAssocie(Req1, var1, Var2) : récupère John et Smith
Pour le second enregistrement :
  • SQLAssocie(Req1, var1, Var2) : récupère John et Mac, mais Mac ne correspond pas à la valeur de la seconde rubrique
  • SQLAssocie(Req1, Var1, Var2, Var3) : récupère John, Mac, Doughnut
2ème cas : Exécution d'une requête par OLEDB, HFSQL ou Accès Natif
Les tabulations présentes dans les rubriques résultat sont automatiquement récupérées par la fonction SQLAssocie.
Composante : wd300hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale