Partager via


Défilement et extraction de lignes (ODBC)

Lorsque vous utilisez un curseur à défilement, les applications appellent SQLFetchScroll pour positionner le curseur et extraire des lignes. SQLFetchScroll prend en charge le défilement relatif (suivant, antérieur et relatif n lignes), le défilement absolu (premier, dernier et ligne n) et le positionnement par signet. Les arguments FetchOrientation et FetchOffset dans SQLFetchScroll spécifient l’ensemble de lignes à extraire, comme illustré dans les diagrammes suivants.

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

Extraction des premiers, derniers, suivants et précédents ensembles de lignes

Extraction d’ensembles de lignes absolus, relatifs et signets

Extraction d’ensembles de lignes absolus, relatifs et de lignes marquées

SQLFetchScroll positionne le curseur sur la ligne spécifiée et retourne 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 retourné ; 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, il peut souhaiter vérifier si une ligne existe ou simplement obtenir l'identifiant de la ligne sans transférer d’autres données sur le réseau. Pour ce faire, il 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 cet attribut d’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.

Note

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