DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / Fonctions SQL
  • SQLAvance/SQLFetch : Récupération partiel du résultat de la requête
  • Durée de vie d'un parcours
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
Passe à la ligne suivante (c'est-à-dire à l'enregistrement suivant) du résultat de la requête.
Lors du premier appel de la fonction SQLAvance (également nommée SQLFetch), l'enregistrement en cours sera le premier des enregistrements sélectionnés par la requête.
Cette fonction permet de parcourir le résultat de la requête "ligne à ligne". Pour plus de détails sur les différents types de parcours du résultat d'une requête, consultez Types de parcours SQL.
Java Pour optimiser les performances, il est conseillé d'utiliser un parcours de type SQLPremier/SQLSuivant.
Exemple
WINDEVJavaCode Utilisateur (MCU)HFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBODBCConnecteurs Natifs (Accès Natifs)
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)
{"IMAGE"+i} = SQLLitMémo("REQ1", 4)
FIN
SQLFerme("REQ1")
Syntaxe
<Résultat> = SQLAvance(<Nom de la requête>)
<Résultat> : Entier
0 si la lecture de l'enregistrement s'est bien passée. Les données peuvent être récupérées avec les fonctions SQLLitCol et SQLLitMémo.
<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,
  • Nom de la requête exécutée avec la fonction SQLExecWDR.
Java Les requêtes créées avec l'éditeur de requêtes doivent être spécifiées sous forme d'une chaîne de caractères avec guillemets.
Remarques

SQLAvance/SQLFetch : Récupération partiel du résultat de la requête

La fonction SQLAvance ne lance pas la récupération de toutes les lignes du résultat de la requête : seul l'enregistrement en cours est récupéré par la fonction SQLAvance.
Par conséquent, la récupération du nombre total de lignes du résultat (SQL.NbLig) avec la fonction SQLInfoGene n'est pas possible si la fonction SQLAvance est utilisée pour parcourir le résultat.
Linux

Durée de vie d'un parcours

La durée de vie d'un parcours réalisé avec la fonction SQLAvance est limitée à la durée du script PHP. Il n'est pas possible de continuer un parcours avec la fonction SQLAvance après avoir renvoyé la page (même en mode session).
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