Défilement et extraction de lignes (ODBC)

Lorsque vous utilisez un curseur à défilement, les applications appellent SQLFetchScroll pour positionner le curseur et récupérer des lignes. SQLFetchScroll prend en charge le défilement relatif (suivantes, antérieures et n lignes relatives), le défilement absolu (première, dernière et n ligne) et le positionnement par signet. Les arguments FetchOrientation et FetchOffset dans SQLFetchScroll spécifient l’ensemble de lignes à récupérer, comme illustré dans les diagrammes suivants.

Récupération des ensembles de lignes Suivant, Précédent, Premier et Dernier

Récupération des ensembles de lignes Suivant, Précédent, Premier et Dernier

Récupération d’ensembles de lignes absolus, relatifs et avec signet

Récupération d’ensembles de lignes absolus, relatifs et avec signet

SQLFetchScroll positionne le curseur sur la ligne spécifiée et renvoie les lignes de l’ensemble de lignes à partir de cette ligne. Si l’ensemble de lignes spécifié chevauche la fin du jeu de résultats, un ensemble de lignes partiel est renvoyé. Si l’ensemble de lignes spécifié chevauche le début du jeu de résultats, le premier ensemble de lignes du jeu de résultats est généralement renvoyé. Pour plus d’informations, consultez la description de la fonction SQLFetchScroll.

Dans certains cas, l’application peut vouloir positionner le curseur sans récupérer de données. Par exemple, elle peut vouloir tester si une ligne existe ou simplement obtenir le signet de la ligne sans apporter d’autres données sur le réseau. Pour ce faire, elle définit l’attribut d’instruction SQL_ATTR_RETRIEVE_DATA sur SQL_RD_OFF. La variable liée à la colonne de signet (le cas échéant) est toujours mise à jour, quel que soit le paramètre de l’attribut de cette instruction.

Une fois l’ensemble de lignes récupéré, l’application peut appeler SQLSetPos pour positionner une ligne particulière dans l’ensemble de lignes ou actualiser les lignes de l’ensemble de lignes. Pour plus d’informations sur l’utilisation de SQLSetPos, consultez Mise à jour des données avec SQLSetPos.

Remarque

Le défilement est pris en charge dans les pilotes ODBC 2.x par SQLExtendedFetch. Pour plus d’informations, consultez Bloquer les curseurs de bloc, les curseurs à défilement et la compatibilité descendante dans l’annexe G : Instructions relatives à la compatibilité descendante.