Comportamentos de cursor

O ODBC dá suporte às opções ISO para especificar o comportamento de cursores por meio da definição de sua rolagem e sensibilidade. Esses comportamentos são especificados definindo as opções SQL_ATTR_CURSOR_SCROLLABLE e SQL_ATTR_CURSOR_SENSITIVITY em uma chamada de SQLSetStmtAttr. O driver ODBC do SQL Server Native Client implementa essas opções solicitando cursores de servidor com as características a seguir.

Configurações do comportamento de cursor

Características de cursor do servidor solicitadas

SQL_SCROLLABLE e SQL_SENSITIVE

Cursor controlado por conjunto de chaves e simultaneidade otimista baseada em versão

SQL_SCROLLABLE e SQL_INSENSITIVE

Cursor estático e simultaneidade somente leitura

SQL_SCROLLABLE e SQL_UNSPECIFIED

Cursor estático e simultaneidade somente leitura

SQL_NONSCROLLABLE e SQL_SENSITIVE

Cursor de somente avanço e simultaneidade otimista baseada em versão

SQL_NONSCROLLABLE e SQL_INSENSITIVE

Conjunto de resultados padrão (somente avanço, somente leitura)

SQL_NONSCROLLABLE e SQL_UNSPECIFIED

Conjunto de resultados padrão (somente avanço, somente leitura)

A simultaneidade otimista baseada em versão exige uma coluna timestamp na tabela subjacente. Se o controle de simultaneidade otimista baseada em versão for solicitado em uma tabela que não tem uma coluna timestamp, o servidor usará a simultaneidade otimista baseada em valores.

Rolagem

Quando SQL_ATTR_CURSOR_SCROLLABLE é definido como SQL_SCROLLABLE, o cursor dá suporte a todos os valores diferentes do parâmetro FetchOrientation de SQLFetchScroll. Quando SQL_ATTR_CURSOR_SCROLLABLE é definido como SQL_NONSCROLLABLE, o cursor dá suporte apenas a um valor de FetchOrientation SQL_FETCH_NEXT.

Sensibilidade

Quando SQL_ATTR_CURSOR_SENSITIVITY é definido como SQL_SENSITIVE, o cursor reflete as modificações de dados feitas pelo usuário atual ou confirmadas por outros usuários. Quando SQL_ATTR_CURSOR_SENSITIVITY é definido como SQL_INSENSITIVE, o cursor não reflete as modificações de dados.

Consulte também

Conceitos

Usando cursores (ODBC)