Partager via


Utilisation de la bibliothèque de curseurs ODBC

Important

Cette fonctionnalité sera supprimée dans une version future de Windows. Évitez d’utiliser cette fonctionnalité dans les nouveaux travaux 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 la façon dont 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éfilement (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 de l’ensemble de lignes (SQL_ATTR_ROW_ARRAY_SIZE). La bibliothèque de curseurs prend en charge les curseurs avant uniquement et statiques. Les curseurs avant uniquement doivent être en lecture seule, tandis que les curseurs statiques peuvent être en lecture seule ou utiliser un contrôle d’accès concurrentiel optimiste comparant des valeurs.

  4. Alloue une ou plusieurs mémoires tampons d’ensemble de lignes et appelle SQLBindCol une ou plusieurs fois pour lier ces mémoires tampons à des colonnes de jeu de résultats.

  5. Génère un jeu de résultats en exécutant une instruction SELECT ou une procédure, ou en appelant une fonction de 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 le jeu de résultats.

  6. Appelle SQLFetch ou SQLFetchScroll une ou plusieurs fois pour faire défiler le jeu de résultats.

L’application peut modifier les valeurs de données dans les mémoires tampons de l’ensemble de lignes. Pour actualiser les mémoires tampons de l’ensemble de lignes avec les données du cache de la bibliothèque de curseurs, une application appelle SQLFetchScroll avec l’argument FetchOrientation défini sur SQL_FETCH_RELATIVE et l’argument FetchOffset défini sur 0.

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

Pour déterminer le nombre de lignes qui ont été récupérées à partir de la source de données, l’application appelle SQLRowCount.