Partager via


Défilement et extraction de lignes

Pour utiliser un curseur permettant le défilement, une application ODBC doit :

  • définir les fonctionnalités du curseur à l'aide de SQLSetStmtAttr ;

  • ouvrir le curseur à l'aide de SQLExecute ou SQLExecDirect ;

  • faire défiler et extraire les lignes à l'aide de SQLFetch ou SQLFetchScroll.

SQLFetch et SQLFetchScroll peuvent extraire plusieurs blocs de lignes à la fois. Le nombre de lignes retourné est spécifié en utilisant SQLSetStmtAttr afin de définir le paramètre SQL_ATTR_ROW_ARRAY_SIZE.

Les applications ODBC peuvent utiliser SQLFetch pour extraire un curseur avant uniquement.

SQLFetchScroll est utilisé pour faire défiler un curseur. SQLFetchScroll prend en charge l'extraction de l'ensemble de lignes suivant, précédent, en première position ou en dernière position, ainsi que l'extraction relative (extraction des n lignes de l'ensemble de lignes à partir du début de l'ensemble de lignes actuel) et l'extraction absolue (extraction de l'ensemble de lignes démarrant à la ligne n). Si n est négatif dans une extraction absolue, les lignes sont comptées à partir de la fin du jeu de résultats. Une extraction absolue de ligne -1 équivaut à l'extraction de l'ensemble de lignes qui démarre à la dernière ligne du jeu de résultats.

Les applications qui utilisent uniquement SQLFetchScroll pour ses fonctionnalités de curseur de bloc (par exemple les rapports) sont susceptibles de passer le jeu de résultats une seule fois, en utilisant uniquement l'option qui permet d'extraire l'ensemble de lignes suivant. Les applications basées sur un écran, en revanche, peuvent tirer parti de toutes les fonctionnalités de SQLFetchScroll. Si l'application définit la taille de l'ensemble de lignes en fonction du nombre de lignes affichées à l'écran et si elle lie les mémoires tampons de l'écran au jeu de résultats, elle peut traduire directement les opérations de barre de défilement en appels à SQLFetchScroll.

Opération de barre de défilement

Option de défilement SQLFetchScroll

Page précédente

SQL_FETCH_PRIOR

Page suivante

SQL_FETCH_NEXT

Ligne précédente

SQL_FETCH_RELATIVE avec FetchOffset égal à -1

Ligne suivante

SQL_FETCH_RELATIVE avec FetchOffset égal à 1

Case de défilement vers le haut

SQL_FETCH_FIRST

Case de défilement vers le bas

SQL_FETCH_LAST

Position aléatoire de la case de défilement

SQL_FETCH_ABSOLUTE