Partilhar via


Rolagem e busca de linhas

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

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

  • Defina os recursos do cursor usando SQLSetStmtAttr.

  • Abra o cursor usando SQLExecute ou SQLExecDirect.

  • Role e busque linhas usando SQLFetch ou SQLFetchScroll.

Tanto SQLFetch quanto SQLFetchScroll podem buscar blocos de linhas de cada vez. O número de linhas retornadas é especificado usando SQLSetStmtAttr para definir o parâmetro SQL_ATTR_ROW_ARRAY_SIZE.

Os aplicativos ODBC podem usar SQLFetch para buscar um cursor somente para encaminhamento.

SQLFetchScroll é usado para rolar em torno de um cursor. SQLFetchScroll suporta a busca dos conjuntos de linhas seguinte, anterior, primeiro e último, além de busca relativa (buscar o conjunto de linhas n linhas do início do conjunto de linhas atual) e absoluta (buscar o conjunto de linhas começando 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 de -1 de linha significa buscar o conjunto de linhas que começa com a última linha do conjunto de resultados.

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

Operação da barra de rolagem Opção de rolagem SQLFetchScroll
Página acima SQL_FETCH_PRIOR
Página para baixo SQL_FETCH_NEXT
Alinhamento SQL_FETCH_RELATIVE com FetchOffset igual a -1
Linha para baixo SQL_FETCH_RELATIVE com FetchOffset igual a 1
Caixa de rolagem para o topo SQL_FETCH_FIRST
Caixa de rolagem para baixo SQL_FETCH_LAST
Posição aleatória da caixa de rolagem SQL_FETCH_ABSOLUTE

Nesta secção

Ver também

Usando cursores (ODBC)