DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / Fonctions SQL
  • Présentation
  • Comparaison des deux méthodes
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
Les différents types de parcours disponibles en SQL
Présentation
Pour parcourir le résultat d'une requête exécutée avec la fonction SQLExec, deux types de parcours sont disponibles :
Les paragraphes suivants présentent les avantages et les inconvénients de chacune de ces deux méthodes.
Comparaison des deux méthodes
Le tableau suivant présente les caractéristiques des deux méthodes de parcours :
Parcours de type SQLPremier/SQLCol
Parcours de type SQLAvance/SQLLitCol
Résultat de la requêteTous les enregistrements résultat de la requête sont chargés en mémoire lors de l'exécution de la fonction SQLPremier.
Le premier appel à la fonction SQLPremier peut être relativement long.
Aucun enregistrement n'est chargé en mémoire. La base de données gère le résultat de la requête.
Nombre d'enregistrementsLe nombre d'enregistrements correspondant au résultat de la requête est automatiquement calculé lors de la lecture du premier enregistrement (fonction SQLPremier). La variable SQL.NbLig est mise à jourLe nombre d'enregistrements correspondant au résultat de la requête n'est pas calculé.
SQLInfoGeneLa fonction SQLInfoGene permet d'obtenir des renseignements sur la requête et sur le parcours en cours.La fonction SQLInfoGene permet uniquement d'obtenir des informations générales sur la requête ou sur la connexion.
Parcours des enregistrementsRetour possible sur un élément précédent du résultatPas de retour possible sur un élément précédent du résultat
Lecture du résultat de la requête grâce aux fonctions SQLCol, SQLAssocie.Lecture du résultat de la requête grâce à la fonction SQLLitCol et SQLLitMémo.
Affichage dans une tableLa fonction SQLTable ne doit pas être utilisée (erreur fatale).La fonction SQLTable permet de récupérer uniquement les enregistrements résultat à partir de l'enregistrement en cours.
Gestion des tabulationsCe type de parcours ne permet pas de récupérer les tabulations présentes dans les valeurs des enregistrements. Une tabulation sépare deux rubriques. Seule la partie précédant la tabulation sera récupérée avec les fonctions de lecture.
Pour plus de détails, consultez l'aide de SQLCol et SQLAssocie.
Ce type de parcours permet de récupérer les tabulations présentes dans les valeurs des enregistrements.
Pour plus de détails, consultez l'aide de SQLLitCol.


Exemple de parcours de type SQLPremier/SQLCol
ResExec = SQLExec("SELECT NOMCLI FROM FACT","REQ1")
SI ResExec ALORS
SQLPremier("REQ1")
// Transfert du nom dans LISTE_LISTENOM
TANTQUE PAS SQL.EnDehors
ListeAjoute(LISTE_LISTENOM, SQLCol("REQ1",1))
SQLSuivant("REQ1")
FIN
SINON
// TraiteErreur
FIN
SQLFerme("REQ1")
Exemple de parcours de type SQLAvance/SQLLitCol
i est un entier = 0
SQLExec("SELECT NOM, PRENOM, POSTE,PHOTO FROM CLIENT","REQ1")
// Récupérer la requête ligne à ligne
TANTQUE SQLFetch("REQ1") = 0
// Il y a encore une ligne
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")
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 13/06/2023

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