Utilisation de la bibliothèque de curseurs ODBC

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Windows. Évitez d’utiliser cette fonctionnalité dans le nouveau travail de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Microsoft recommande d’utiliser la fonctionnalité de curseur du pilote.

Pour utiliser la bibliothèque de curseurs ODBC, une application :

  1. Appelle SQLSetConnectAttr avec un attribut de SQL_ATTR_ODBC_CURSORS pour spécifier comment la bibliothèque de curseurs doit être utilisée avec une connexion particulière. La bibliothèque de curseurs peut toujours être utilisée (SQL_CUR_USE_ODBC), utilisée uniquement si le pilote ne prend pas en charge les curseurs défilants (SQL_CUR_USE_IF_NEEDED), ou jamais utilisée (SQL_CUR_USE_DRIVER).

  2. Appelle SQLConnect, SQLDriverConnect ou SQLBrowseConnect pour se connecter à la source de données.

  3. Appelle SQLSetStmtAttr pour spécifier le type de curseur (SQL_ATTR_CURSOR_TYPE), la concurrence (SQL_ATTR_CONCURRENCY) et la taille du jeu de lignes (SQL_ATTR_ROW_ARRAY_SIZE). La bibliothèque de curseurs prend en charge les curseurs uniquement en avant et statiques. Les curseurs en avant seul doivent être en lecture seule, tandis que les curseurs statiques peuvent être en lecture seule ou utiliser un contrôle optimiste de concurrence comparant les valeurs.

  4. Alloue un ou plusieurs tampons de lignes et appelle SQLBindCol une ou plusieurs fois pour lier ces tampons aux colonnes de l’ensemble résultant.

  5. Génère un ensemble de résultats en exécutant une instruction SELECT ou une procédure, ou en appelant une fonction catalogue. Si l’application exécute des instructions de mise à jour positionnées, elle doit exécuter une instruction SELECT FOR UPDATE pour générer l’ensemble de résultats.

  6. Appelle SQLFetch ou SQLFetchScroll une ou plusieurs fois pour faire défiler l’ensemble des résultats.

L’application peut modifier les valeurs de données dans les tampons de rowset. Pour rafraîchir les tampons de rowset avec les données du cache de la bibliothèque de curseurs, une application appelle SQLFetchScroll avec l’argument FetchOrientation réglé sur SQL_FETCH_RELATIVE et l’argument FetchOffset sur 0.

Pour récupérer des données d’une colonne non liée, l’application appelle SQLSetPos pour positionner le curseur sur la ligne désirée. Il appelle ensuite SQLGetData pour récupérer les données.

Pour déterminer le nombre de lignes récupérées depuis la source de données, l’application appelle SQLRowCount.