Compartilhar via


Rolando e buscando linhas

Para usar um cursor rolável, um aplicativo ODBC deve:

  • Definir os recursos do cursor usando SQLSetStmtAttr.

  • Abrir o cursor usando SQLExecute ou SQLExecDirect.

  • Rolar e buscar linhas usando SQLFetch ou SQLFetchScroll.

SQLFetch e SQLFetchSroll podem buscar blocos de linhas simultaneamente. O número de linhas retornadas é especificado usando-se SQLSetStmtAttr para definir o parâmetro SQL_ATTR_ROW_ARRAY_SIZE.

Aplicativos de ODBC podem usar SQLFetch para buscar por um cursor de somente avanço.

SQLFetchScroll é usado para rolar ao redor de um cursor. SQLFetchScroll dá suporte à busca dos conjuntos de linhas próximo e anterior e do primeiro e do último conjuntos de linhas, além da busca relativa (busque n linhas do conjunto de linhas do início do conjunto de linhas atual) e da busca absoluta (busque o conjunto de linhas que começa na linha n). Se n for negativo em uma busca absoluta, as linhas serão contadas a partir do final do conjunto de resultados. Uma busca absoluta da linha -1 significa buscar o conjunto de linhas que inicia com a última linha no conjunto de resultados.

Os aplicativos que utilizam SQLFetchScroll apenas para os respectivos recursos de cursores em bloco, como relatórios, provavelmente passarão pelo conjunto de resultados uma vez, usando apenas a opção para buscar o próximo conjunto de linhas. Por outro lado, aplicativos baseados em tela podem tirar proveito de todos os recursos de SQLFetchScroll. Se o aplicativo definir o tamanho do conjunto de linhas como o número de linhas exibidas na tela e associar os buffers de tela ao conjunto de resultados, ele poderá converter operações da barra de rolagem diretamente em chamadas para SQLFetchScroll.

Operação de barra de rolagem

Opção de rolagem SQLFetchScroll

Uma página acima

SQL_FETCH_PRIOR

Uma página abaixo

SQL_FETCH_NEXT

Uma linha acima

SQL_FETCH_RELATIVE com FetchOffset igual a -1

Uma linha abaixo

SQL_FETCH_RELATIVE com FetchOffset igual a 1

Caixa de rolagem no início

SQL_FETCH_FIRST

Caixa de rolagem no fim

SQL_FETCH_LAST

Posição aleatória da caixa de rolagem

SQL_FETCH_ABSOLUTE

Nesta seção

Consulte também

Conceitos