Partager via


SQLSetStmtAttr (bibliothèque de curseurs)

Important

Cette fonctionnalité sera supprimée dans une version future 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.

Cette rubrique décrit l’utilisation de la fonction SQLSetStmtAttr dans la bibliothèque de curseurs. Pour obtenir des informations générales sur SQLSetStmtAttr, consultez Fonction SQLSetStmtAttr.

La bibliothèque de curseurs prend en charge les attributs d’instruction suivants avec SQLSetStmtAttr :

SQL_ATTR_CONCURRENCY
SQL_ATTR_CURSOR_TYPE
SQL_ATTR_FETCH_BOOKMARK_PTR
SQL_ATTR_PARAM_BIND_OFFSET_PTR
SQL_ATTR_PARAM_BIND_TYPE

SQL_ATTR_ROW_BIND_OFFSET_PTR
SQL_ATTR_ROW_BIND_TYPE
SQL_ATTR_ROWSET_ARRAY_SIZE
SQL_ATTR_SIMULATE_CURSOR
SQL_ATTR_USE_BOOKMARKS

La bibliothèque de curseurs prend uniquement en charge les valeurs SQL_CURSOR_FORWARD_ONLY et SQL_CURSOR_STATIC de l’attribut d’instruction SQL_ATTR_CURSOR_TYPE.

Pour les curseurs avant uniquement, la bibliothèque de curseurs prend en charge la valeur SQL_CONCUR_READ_ONLY de l’attribut d’instruction SQL_ATTR_CONCURRENCY. Pour les curseurs statiques, la bibliothèque de curseurs prend en charge les valeurs SQL_CONCUR_READ_ONLY et SQL_CONCUR_VALUES de l’attribut d’instruction SQL_ATTR_CONCURRENCY.

La bibliothèque de curseurs prend uniquement en charge la valeur SQL_SC_NON_UNIQUE de l’attribut d’instruction SQL_ATTR_SIMULATE_CURSOR.

Bien que la spécification ODBC prenne en charge les appels à SQLSetStmtAttr avec les attributs SQL_ATTR_PARAM_BIND_TYPE ou SQL_ATTR_ROW_BIND_TYPE après l’appel de SQLFetch ou SQLFetchScroll , la bibliothèque de curseurs ne le fait pas. Avant de pouvoir modifier le type de liaison dans la bibliothèque de curseurs, l’application doit fermer le curseur. La bibliothèque de curseurs prend en charge la modification des attributs d’instruction SQL_ATTR_ROW_BIND_OFFSET_PTR, SQL_ATTR_PARAM_BIND_OFFSET_PTR, SQL_ATTR_ROWS_FETCHED_PTR et SQL_ATTR_PARAMS_PROCESSED_PTR lorsqu’un curseur est ouvert.

Une application peut appeler SQLSetStmtAttr avec un attribut de SQL_ATTR_ROW_ARRAY_SIZE pour modifier la taille de l’ensemble de lignes pendant qu’un curseur est ouvert. La nouvelle taille de l’ensemble de lignes prendra effet la prochaine fois que SQLFetchScroll ou SQLFetch sera appelé.

La bibliothèque de curseurs prend en charge la définition de l’attribut d’instruction SQL_ATTR_PARAM_BIND_OFFSET_PTR ou SQL_ATTR_ROW_BIND_OFFSET_PTR pour activer les décalages de liaison. Le décalage de liaison ne sera pas utilisé pour les appels à SQLFetch lorsque la bibliothèque de curseurs est utilisée avec odbc 2. pilote x .

La bibliothèque de curseurs prend en charge la définition de l’attribut d’instruction SQL_ATTR_USE_BOOKMARKS sur SQL_UB_VARIABLE.