Compartilhar via


SQLSetStmtAttr (Biblioteca de cursores)

Importante

Esse recurso será removido em uma versão futura do Windows. Evite usar esse recurso em um novo trabalho de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. A Microsoft recomenda usar a funcionalidade de cursor do driver.

Este tópico discute o uso da função SQLSetStmtAttr na biblioteca de cursores. Para obter informações gerais sobre SQLSetStmtAttr, consulte Função SQLSetStmtAttr.

A biblioteca de cursores dá suporte aos seguintes atributos de instrução com 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

A biblioteca de cursores dá suporte apenas aos valores SQL_CURSOR_FORWARD_ONLY e SQL_CURSOR_STATIC do atributo de instrução SQL_ATTR_CURSOR_TYPE.

Para cursores somente de encaminhamento, a biblioteca de cursores dá suporte ao valor SQL_CONCUR_READ_ONLY do atributo de instrução SQL_ATTR_CONCURRENCY. Para cursores estáticos, a biblioteca de cursores dá suporte aos valores SQL_CONCUR_READ_ONLY e SQL_CONCUR_VALUES do atributo de instrução SQL_ATTR_CONCURRENCY.

A biblioteca de cursores dá suporte apenas ao valor SQL_SC_NON_UNIQUE do atributo de instrução SQL_ATTR_SIMULATE_CURSOR.

Embora a especificação ODBC dê suporte a chamadas para SQLSetStmtAttr com os atributos SQL_ATTR_PARAM_BIND_TYPE ou SQL_ATTR_ROW_BIND_TYPE depois que SQLFetch ou SQLFetchScroll tiver sido chamado, a biblioteca de cursores não. Antes de alterar o tipo de associação na biblioteca de cursores, o aplicativo deve fechar o cursor. A biblioteca de cursores dá suporte à alteração dos atributos de instrução SQL_ATTR_ROW_BIND_OFFSET_PTR, SQL_ATTR_PARAM_BIND_OFFSET_PTR, SQL_ATTR_ROWS_FETCHED_PTR e SQL_ATTR_PARAMS_PROCESSED_PTR quando um cursor está aberto.

Um aplicativo pode chamar SQLSetStmtAttr com um atributo de SQL_ATTR_ROW_ARRAY_SIZE para alterar o tamanho do conjunto de linhas enquanto um cursor está aberto. O novo tamanho do conjunto de linhas entrará em vigor na próxima vez que SQLFetchScroll ou SQLFetch for chamado.

A biblioteca de cursores dá suporte à definição do atributo de instrução SQL_ATTR_PARAM_BIND_OFFSET_PTR ou SQL_ATTR_ROW_BIND_OFFSET_PTR para habilitar deslocamentos de associação. O deslocamento de associação não será usado para chamadas ao SQLFetch quando a biblioteca de cursores for usada com um ODBC 2. x driver.

A biblioteca de cursores dá suporte à definição do atributo de instrução SQL_ATTR_USE_BOOKMARKS como SQL_UB_VARIABLE.