Desplazamiento y recuperación de filas (ODBC)

Cuando se usa un cursor desplazable, las aplicaciones llaman a SQLFetchScroll para colocar el cursor y recuperar filas. SQLFetchScroll admite desplazamiento relativo (siguiente, anterior y n filas relativas), desplazamiento absoluto (primero, último y fila n) y posicionamiento por marcador. Los argumentos FetchOrientation y FetchOffset de SQLFetchScroll especifican qué conjunto de filas se va a recuperar, como se muestra en los diagramas siguientes.

Recuperar conjuntos de filas siguientes, anteriores, primero y último

Recuperar conjuntos de filas siguientes, anteriores, primero y último

Recuperar conjuntos de filas absolutos, relativos y marcados

Recuperar conjuntos de filas absolutos, relativos y marcados

SQLFetchScroll coloca el cursor en la fila especificada y devuelve las filas del conjunto de filas a partir de esa fila. Si el conjunto de filas especificado se superpone al final del conjunto de resultados, se devuelve un conjunto de filas parcial. Si el conjunto de filas especificado se superpone al inicio del conjunto de resultados, normalmente se devuelve el primer conjunto de filas del conjunto de resultados; para obtener detalles completos, consulte la descripción de la función SQLFetchScroll.

En algunos casos, es posible que la aplicación quiera colocar el cursor sin recuperar datos. Por ejemplo, puede que quiera probar si existe una fila o simplemente obtener el marcador de la fila sin traer otros datos a través de la red. Para ello, establece el atributo de instrucción SQL_ATTR_RETRIEVE_DATA en SQL_RD_OFF. La variable enlazada a la columna del marcador (si existe) siempre se actualiza, independientemente de la configuración de este atributo de instrucción.

Una vez recuperado el conjunto de filas, la aplicación puede llamar a SQLSetPos para colocar en una fila determinada del conjunto de filas o actualizar filas del conjunto de filas. Para obtener más información sobre el uso de SQLSetPos, consulte Actualización de datos con SQLSetPos.

Nota:

Los controladores ODBC 2.x admiten el desplazamiento mediante SQLExtendedFetch. Para obtener más información, vea Bloquear cursores, cursores desplazables y compatibilidad con versiones anteriores en el apéndice G: Directrices del controlador para la compatibilidad con versiones anteriores.