Compartir a través de


Uso de la biblioteca de cursores ODBC

Importante

Esta característica se quitará en una versión futura de Windows. Evite usar esta característica en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que actualmente usan esta característica. Microsoft recomienda usar la funcionalidad del cursor del controlador.

Para usar la biblioteca de cursores ODBC, una aplicación:

  1. Llama a SQLSetConnectAttr con un atributo de SQL_ATTR_ODBC_CURSORS para especificar cómo se debe usar la biblioteca de cursores con una conexión determinada. La biblioteca de cursores siempre se puede usar (SQL_CUR_USE_ODBC), solo se usa si el controlador no admite cursores desplazables (SQL_CUR_USE_IF_NEEDED) o nunca se usa (SQL_CUR_USE_DRIVER).

  2. Llama a SQLConnect, SQLDriverConnect o SQLBrowseConnect para conectarse al origen de datos.

  3. Llama a SQLSetStmtAttr para especificar el tipo de cursor (SQL_ATTR_CURSOR_TYPE), la simultaneidad (SQL_ATTR_CONCURRENCY) y el tamaño del conjunto de filas (SQL_ATTR_ROW_ARRAY_SIZE). La biblioteca de cursores admite cursores estáticos y de solo avance. Los cursores de solo avance deben ser de solo lectura, mientras que los cursores estáticos pueden ser de solo lectura o pueden usar el control de simultaneidad optimista comparando valores.

  4. Asigna uno o varios búferes de conjunto de filas y llama a SQLBindCol una o varias veces para enlazar estos búferes a columnas del conjunto de resultados.

  5. Genera un conjunto de resultados ejecutando una instrucción SELECT o un procedimiento, o llamando a una función de catálogo. Si la aplicación ejecutará instrucciones de actualización posicionadas, debe ejecutar una instrucción SELECT FOR UPDATE para generar el conjunto de resultados.

  6. Llama a SQLFetch o SQLFetchScroll una o varias veces para desplazarse por el conjunto de resultados.

La aplicación puede cambiar los valores de datos en los búferes del conjunto de filas. Para actualizar los búferes del conjunto de filas con datos de la memoria caché de la biblioteca de cursores, una aplicación llama a SQLFetchScroll con el argumento FetchOrientation establecido en SQL_FETCH_RELATIVE y el argumento FetchOffset establecido en 0.

Para recuperar datos de una columna independiente, la aplicación llama a SQLSetPos para colocar el cursor en la fila deseada. A continuación, llama a SQLGetData para recuperar los datos.

Para determinar el número de filas que se han recuperado del origen de datos, la aplicación llama a SQLRowCount.