PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Ligne en cours de la requête
  • Colonnes de la requête
  • Requête sans résultat
  • Utilisation de tabulations dans les rubriques
  • Fonctions SQLCol et SQLLitCol
  • Récupération de rubriques de type Float sur Oracle (via ODBC)
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
Récupère le contenu de la colonne spécifiée dans le résultat de la requête, pour la ligne en cours.
Attention : Cette fonction doit être utilisée lors d'un parcours du résultat de la requête de type "SQLAvance/SQLLitCol". Pour plus de détails sur les différents types de parcours du résultat d'une requête SQL, consultez Types de parcours SQL.
Versions 16 et supérieures
WEBDEV - Code Navigateur Cette fonction est désormais disponible en code Navigateur.
WEBDEV - Code Navigateur Les fonctions SQL permettent de manipuler des bases de données locales (de type Web SQL database). Seul le mode de parcours SQLAvance/SQLLitCol est disponible. Pour plus de détails, consultez Accès en mode local à une base de données (SQLite).
Nouveauté 16
WEBDEV - Code Navigateur Cette fonction est désormais disponible en code Navigateur.
WEBDEV - Code Navigateur Les fonctions SQL permettent de manipuler des bases de données locales (de type Web SQL database). Seul le mode de parcours SQLAvance/SQLLitCol est disponible. Pour plus de détails, consultez Accès en mode local à une base de données (SQLite).
WEBDEV - Code Navigateur Cette fonction est désormais disponible en code Navigateur.
WEBDEV - Code Navigateur Les fonctions SQL permettent de manipuler des bases de données locales (de type Web SQL database). Seul le mode de parcours SQLAvance/SQLLitCol est disponible. Pour plus de détails, consultez Accès en mode local à une base de données (SQLite).
Versions 19 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android (accès aux bases tierces via un Webservice).
Android Cette fonction est désormais disponible pour les applications Android (accès aux bases tierces via un Webservice).
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad (accès aux bases tierces via un Webservice).
Nouveauté 19
Widget Android Cette fonction est désormais disponible en mode Widget Android (accès aux bases tierces via un Webservice).
Android Cette fonction est désormais disponible pour les applications Android (accès aux bases tierces via un Webservice).
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad (accès aux bases tierces via un Webservice).
Widget Android Cette fonction est désormais disponible en mode Widget Android (accès aux bases tierces via un Webservice).
Android Cette fonction est désormais disponible pour les applications Android (accès aux bases tierces via un Webservice).
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad (accès aux bases tierces via un Webservice).
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
i est un entier = 0
SQLExec("SELECT NOM, PRENOM, POSTE, PHOTO FROM CLIENT", "REQ1")
// Récupérer la requête ligne à ligne
TANTQUE SQLAvance("REQ1") = 0        // Il y a encore une ligne à lire
        i++
        // Récupérer les données
        NOM[i] = SQLLitCol("REQ1", 1)
        PRENOM[i] = SQLLitCol("REQ1", 2)
        POSTE[i] = SQLLitCol("REQ1", 3)
FIN
SQLFerme("REQ1")
Syntaxe
<Résultat> = SQLLitCol(<Nom de la requête> , <Numéro de la colonne>)
<Résultat> : Chaîne de caractères
Valeur de la colonne.
<Nom de la requête> : Chaîne de caractères (avec ou sans guillemets)
Nom de la requête créée et exécutée avec la fonction SQLExec (avec guillemets) ou exécutée avec la fonction SQLExecWDR (avec ou sans guillemets).
Java Les requêtes créées avec l'éditeur de requête doivent être spécifiées sous forme d'une chaîne de caractères avec guillemets.
Versions 16 et supérieures
WEBDEV - Code Navigateur Seules les requêtes créées et exécutées avec la fonction SQLExec sont disponibles.
Nouveauté 16
WEBDEV - Code Navigateur Seules les requêtes créées et exécutées avec la fonction SQLExec sont disponibles.
WEBDEV - Code Navigateur Seules les requêtes créées et exécutées avec la fonction SQLExec sont disponibles.
<Numéro de la colonne> : Entier
Numéro de la colonne à récupérer. Cette colonne correspond à une colonne de la requête (et non pas à une colonne de la table). Si plusieurs colonnes doivent être récupérées, l'indice des colonnes doit être donné dans l'ordre croissant. Par exemple, il faut faire SQLCol("REQ1", 1) puis SQLCol("REQ1", 2).
WEBDEV - Code NavigateurJava Les colonnes peuvent être récupérées dans n'importe quel ordre.
Remarques

Ligne en cours de la requête

La ligne en cours est positionnée par la fonction SQLFetch.

Colonnes de la requête

  • Pour lire les colonnes de type mémo, utilisez la fonction SQLLitMémo. Pour lire les colonnes de type mémo texte, utilisez la fonction SQLLitMémoTexte.
    PHP Les fonctions SQLLitMémo et SQLLitMémoTexte sont inutiles.
    Versions 16 et supérieures
    WEBDEV - Code Navigateur La lecture des colonnes de type mémo n'est pas disponible.
    Nouveauté 16
    WEBDEV - Code Navigateur La lecture des colonnes de type mémo n'est pas disponible.
    WEBDEV - Code Navigateur La lecture des colonnes de type mémo n'est pas disponible.
  • Le nombre de colonnes du résultat de la requête est connu grâce à la variable SQL.NbCol (affectée par la fonction SQLInfoGene).
  • Si la colonne est de type numérique, la fonction SQLLitCol convertit le résultat en une chaîne de caractères. Il est toutefois possible en WLangage d'affecter le résultat retourné par la fonction SQLLitCol dans une variable de type numérique. Le WLangage effectue automatiquement la conversion.
  • Les colonnes doivent impérativement être récupérées par ordre de numéro croissant.
    WEBDEV - Code NavigateurJava Les colonnes peuvent être récupérées dans n'importe quel ordre.
  • La même colonne ne peut pas être récupérée plusieurs fois à la suite. En effet, la seconde fois, le résultat récupéré sera une chaîne vide.
    Versions 16 et supérieures
    WEBDEV - Code Navigateur La même colonne peut être récupérée plusieurs fois à la suite.
    Nouveauté 16
    WEBDEV - Code Navigateur La même colonne peut être récupérée plusieurs fois à la suite.
    WEBDEV - Code Navigateur La même colonne peut être récupérée plusieurs fois à la suite.
  • SQLLitCol ne permet pas de récupérer des chaînes binaires.

Requête sans résultat

La fonction SQLLitCol ne doit pas être appelée si la requête n'a pas renvoyé de résultat : il faut tester la variable SQL.EnDehors après s'être positionné dans le résultat de la requête et avant d'appeler la fonction SQLLitCol.
Par exemple :
// Récupération de la valeur de la 1ère colonne du 1er enregistrement
Valeur est une chaîne
TexteRequête est une chaîne
TexteRequête = "SELECT NOMCLI, ADR1, ADR2, VILLE, CP FROM FACT"
SQLExec(TexteRequête, "REQ1")
Valeur = SQLLitCol("REQ1", 1)

Utilisation de tabulations dans les rubriques

Les fonctions SQL permettent d'insérer des tabulations dans les rubriques des fichiers.
Pour récupérer les valeurs des rubriques (avec les caractères TAB), il est conseillé d'utiliser un parcours du type SQLFetch/SQLLitCol.
Exemple : Fonction SQLLitCol 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 :
  • SQLLitCol(REQ, 1) : récupère John
  • SQLLitCol(REQ, 2) : récupère Smith
Pour le second enregistrement :
  • SQLLitCol(REQ,1 ) : récupère John + tab + Mac
  • SQLLitCol(REQ, 2) : récupère Doughnut
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsJavaPHPAjaxCode Utilisateur (MCU)HFSQLHFSQL Client/ServeurHyper File 5.5OLE DB

Fonctions SQLCol et SQLLitCol

Les fonctions SQLCol et SQLLitCol sont équivalentes lors d'un accès OLE DB ou HFSQL. Il faut cependant respecter le type de parcours associé à chacune de ces fonctions :
  • Fonction SQLCol : parcours de type "SQLPremier/SQLCol"
  • Fonction SQLLitCol : parcours de type "SQLAvance/SQLLitCol"
Pour plus de détails sur ces deux types de parcours, consultez Types de parcours SQL.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsJavaPHPAjaxCode Utilisateur (MCU)ODBC

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")
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire