DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / Fonctions SQL
  • Chargement de la requête en mémoire
  • Fetch Partiel
  • Divers
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
Positionne sur la première ligne du résultat de la requête. Cette ligne devient la ligne en cours.
Si des champs ou des variables sont associés aux colonnes du résultat de la requête (fonction SQLAssocie), ces éléments sont automatiquement affectés avec les valeurs de la ligne en cours.
En règle générale, la fonction SQLPremier est utilisée pour une boucle de lecture avec la fonction SQLSuivant.
Attention : Cette fonction doit être utilisée lors d'un parcours du résultat de la requête de type SQLPremier/SQLCol. 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.
// Initialisation des paramètres de l'ascenseur en fin de requête
ResSQL = SQLExec("SELECT NOMCLI, PRENOM, ADR1, ADR2, VILLE, CP FROM CLIENT", ...
"REQ1")
SI ResSQL = Vrai ALORS
// Affiche la première ligne
SQLPremier("REQ1")
// Initialise la borne maximale de l'ascenseur
ASC_ASCENS1..BorneMax = SQL.NbLig
// Place l'ascenseur au début
ASC_ASCENS1 = 1
SINON
// Traite l'erreur
FIN
SQLFerme("REQ1")
Syntaxe
SQLPremier([<Nombre de lignes>, ] <Nom de la requête>)
<Nombre de lignes> : Entier optionnel
Nombre de lignes à charger en mémoire toutes les secondes. Ce nombre de lignes constituera un bloc pour le Fetch partiel.
Paramètre nécessaire pour réaliser une lecture par Fetch partiel.
<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,
  • exécutée avec la fonction SQLExecWDR.
Remarques

Chargement de la requête en mémoire

Si la fonction SQLPremier est appelée immédiatement après la fonction SQLExec, le résultat de la requête est chargé en mémoire. Deux méthodes sont possibles :
  • Chargement complet de la requête en mémoire si le paramètre <Nombre de lignes> n'est pas précisé. Le nombre d'enregistrements correspondant au résultat de la requête est automatiquement calculé. La variable SQL.NbLig est mise à jour.
  • Chargement partiel de la requête en mémoire (appelé aussi Fetch Partiel) si le paramètre <Nombre de lignes> est précisé.
    Seul le premier bloc de lignes est chargé en mémoire. Les blocs suivants sont automatiquement chargés en tâche de fond (mécanisme du Fetch partiel). La variable SQL.RecupEnCours (mise à jour par la fonction SQLInfoGene) permet de savoir si la récupération du résultat est terminée.
    Remarque : Suivant le traitement effectué, le fetch partiel permet de libérer de la bande passante sur le réseau.
WEBDEV - Code ServeurWindowsPHPAjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBODBCConnecteurs Natifs (Accès Natifs)

Fetch Partiel

Si la méthode de récupération du résultat de la requête par Fetch Partiel est utilisée (consultez l'exemple de cette fonction) :
  • Si la fonction SQLFerme est appelée alors que la récupération n'est pas terminée, la récupération est arrêtée et la requête est fermée.
  • Cette méthode peut être utilisée sur plusieurs requêtes en même temps.
  • La variable SQL.RecupEnCours (mise à jour par la fonction SQLInfoGene) permet de savoir si la récupération du résultat est terminée.

Divers

  • Si le pointeur est en dehors du résultat de la requête, la variable SQL.EnDehors est à Vrai.
  • La variable SQL.EnCours contient le numéro de la ligne en cours.
  • La fonction SQLTable ne doit pas être utilisée après la fonction SQLPremier. Une erreur fatale est générée.
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