|
|
|
|
|
- Présentation
- Comparaison des deux méthodes
Les différents types de parcours disponibles en SQL
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ête | Tous 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'enregistrements | Le 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 à jour | Le nombre d'enregistrements correspondant au résultat de la requête n'est pas calculé. | SQLInfoGene | La 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 enregistrements | Retour possible sur un élément précédent du résultat | Pas 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 table | La 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 tabulations | Ce 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/SQLColResExec = 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")
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|