Rolar e buscar linhas (ODBC)

Quando um cursor rolável é usado, os aplicativos chamam SQLFetchScroll para posicionar o cursor e buscar linhas. SQLFetchScroll dá suporte à rolagem relativa (n linhas próximas, anteriores e relativas), à rolagem absoluta (primeira, última e n linhas) e ao posicionamento por indicador. Os argumentos FetchOrientation e FetchOffset em SQLFetchScroll especificam qual conjunto de linhas buscar, conforme mostrado nos diagramas a seguir.

Buscar conjunto de linhas seguinte, anterior, primeiro e último

Buscar conjunto de linhas seguinte, anterior, primeiro e último

Efetuar fetch do Conjunto de Linhas Absoluto, Relativo e Indicado

Buscar conjunto de linhas absoluto, relativo e marcado

SQLFetchScroll posiciona o cursor na linha especificada e retorna as linhas do conjunto de linhas começando com essa linha. Se o conjunto de linhas especificado se sobrepuser ao final do conjunto de resultados, um conjunto de linhas parcial será retornado. Se o conjunto de linhas especificado se sobrepuser ao início do conjunto de resultados, o primeiro conjunto de linhas do conjunto de resultados geralmente será retornado; para obter detalhes completos, consulte a descrição da função SQLFetchScroll.

Em alguns casos, o aplicativo pode querer posicionar o cursor sem recuperar dados. Por exemplo, ele pode querer testar se há uma linha ou apenas obter o marcador da linha sem obter outros dados pela rede. Para isso, ele define o atributo da instrução SQL_ATTR_RETRIEVE_DATA como SQL_RD_OFF. A variável vinculada à coluna do indicador (se houver) é sempre atualizada, independentemente da configuração desse atributo de instrução.

Após a recuperação do conjunto de linhas, o aplicativo poderá chamar SQLSetPos para posicionar uma linha específica no conjunto de linhas ou atualizar linhas no conjunto de linhas. Para obter mais informações sobre como usar SQLSetPos, consulte Atualizar dados com SQLSetPos.

Observação

A rolagem tem suporte em drivers ODBC 2.x por meio de SQLExtendedFetch. Para obter mais informações, consulte Cursores em bloco, cursores roláveis e compatibilidade com versões anteriores no Apêndice G: diretrizes de driver para compatibilidade com versões anteriores.