Share via


Cierre el Cursor

Cuando una aplicación ha terminado de usar un cursor, llama a SQLCloseCursor para cerrarlo. Por ejemplo:

SQLCloseCursor(hstmt);  

Hasta que la aplicación cierra el cursor, la instrucción en la que se abre el cursor no se puede usar para la mayoría de las demás operaciones, como ejecutar otra instrucción SQL. Para obtener una lista completa de las funciones a las que se puede llamar mientras un cursor está abierto, consulte el Anexo B: Tablas de transición de estado de ODBC.

Nota:

Para cerrar un cursor, una aplicación debe llamar a SQLCloseCursor, no a SQLCancel.

Los cursores permanecen abiertos hasta que se cierran explícitamente, excepto cuando se confirma o se revierte una transacción, en cuyo caso algunos orígenes de datos cierran el cursor. En concreto, al llegar al final del conjunto de resultados, cuando SQLFetch devuelve SQL_NO_DATA, no se cierra el cursor. Incluso los cursores en conjuntos de resultados vacíos (los conjuntos de resultados creados cuando una instrucción se ejecutó correctamente, pero no devolvió ninguna fila) deben cerrarse explícitamente.