Partager via


Création de signets pour des lignes dans ODBC

Un signet est une valeur utilisée pour identifier une ligne de données. La signification de la valeur du signet est connue uniquement du pilote ou de la source de données. Par exemple, il peut être aussi simple qu'un numéro de ligne ou aussi complexe qu'une adresse disque. Dans ODBC, l'application demande un signet pour une ligne particulière, le stocke, puis le passe au curseur à retourner à la ligne.

Lors de l'extraction de lignes avec SQLFetchScroll, une application peut utiliser un signet comme base pour sélectionner la ligne initiale. Il s'agit d'une forme d'adressage absolu qui ne dépend pas de la position actuelle du curseur. Pour permettre un défilement jusqu'à une ligne marquée par un signet, l'application appelle SQLFetchScroll avec un FetchOrientation de SQL_FETCH_BOOKMARK. Cette opération utilise le signet vers lequel pointe l'attribut d'option SQL_ATTR_FETCH_BOOKMARK_PTR. Elle retourne l'ensemble de lignes démarrant à la ligne identifiée par ce signet. Une application peut spécifier un décalage pour cette opération dans l'argument FetchOffset de l'appel à SQLFetchScroll. Lorsqu'un décalage est spécifié, la première ligne de l'ensemble de lignes retourné est déterminée par l'ajout du nombre présent dans l'argument FetchOffset au numéro de la ligne identifiée par le signet. Le pilote ODBC de SQL Server Native Client prend en charge uniquement les signets sur les curseurs statiques et les curseurs de jeu de clés. Si un curseur dynamique est demandé lorsque les signets sont définis, un curseur de jeu de clés est ouvert à la place.

Les signets peuvent également être utilisés avec la fonction SQLBulkOperations pour effectuer des opérations sur un ensemble de lignes démarrant au signet.