Recuperar marcadores

Si la aplicación va a usar marcadores, debe establecer el atributo de instrucción SQL_ATTR_USE_BOOKMARKS en SQL_UB_VARIABLE antes de preparar o ejecutar la instrucción. Esto es necesario porque la creación y el mantenimiento de marcadores pueden ser una operación costosa, por lo que los marcadores solo deben habilitarse cuando una aplicación pueda hacer un buen uso de ellos.

Los marcadores se devuelven como columna 0 del conjunto de resultados. Una aplicación puede recuperarlos de tres maneras:

  • Enlace la columna 0 del conjunto de resultados. SQLFetch o SQLFetchScroll devuelve los marcadores de cada fila del conjunto de filas junto con los datos de otras columnas enlazadas.

  • Llame a SQLSetPos para colocarse en una fila del conjunto de filas y, a continuación, llame a SQLGetData para la columna 0. Si un controlador admite marcadores, siempre debe admitir la capacidad de llamar a SQLGetData para la columna 0, aunque no permita que las aplicaciones llamen a SQLGetData para otras columnas antes de la última columna enlazada.

  • Llame a SQLBulkOperations con el argumento Operation establecido en SQL_ADD y la columna 0 enlazada. El cursor inserta la fila y devuelve el marcador de la fila en el búfer enlazado.