Uso de cursores de bloque
La compatibilidad con cursores de bloque está integrada en ODBC 3.x. SQLFetch solo se puede usar para capturas de múltiples filas cuando se llama en ODBC 3.x; si una aplicación ODBC 2.x llama a SQLFetch, solo se abrirá un cursor de solo avance. Cuando una aplicación ODBC 3.x llama a SQLFetch en un controlador ODBC 2.x, devuelve una sola fila salvo que el controlador ofrezca soporte para SQLExtendedFetch. Para obtener más información, consulte Cursores de Bloque, Cursores Desplazables, y Compatibilidad con Versiones Anteriores en el Apéndice G: Directrices del Controlador para la Compatibilidad con Versiones Anteriores.
Para usar cursores de bloque, la aplicación establece el tamaño del conjunto de filas, enlaza los búferes del conjunto de filas (como se describe en la sección anterior), establece opcionalmente los atributos de instrucción SQL_ATTR_ROWS_FETCHED_PTR y SQL_ATTR_ROW_STATUS_PTR y llama a SQLFetch o SQLFetchScroll para capturar un bloque de filas. La aplicación puede cambiar el tamaño del conjunto de filas y enlazar nuevos búferes de conjunto de filas (llamando a SQLBindCol o especificando un desplazamiento de enlace) incluso después de que se hayan recuperado filas.
Esta sección contiene los temas siguientes.