SQLFreeStmt--Liberar (o restaurar) un descriptor de sentencia

Finalidad

Especificación: CLI de DB2 1.1 ODBC 1.0 ISO CLI

SQLFreeStmt() finaliza el proceso para la sentencia referenciada por el descriptor de sentencia. Utilice esta función para:

SQLFreeStmt() se invoca después de ejecutar una sentencia de SQL y procesar los resultados.

Sintaxis

SQLRETURN   SQLFreeStmt      (SQLHSTMT          StatementHandle,   /* hstmt */
                              SQLUSMALLINT      Option); /* fOption */

Argumentos de la función

Tabla 62. Argumentos de SQLFreeStmt

Tipo de datos Argumento Uso Descripción
SQLHSTMT StatementHandle entrada Descriptor de contexto de sentencia.
SQLUSMALLINT Option entrada Opción que especifica la manera de liberar el descriptor de sentencia. La opción debe tener uno de los valores siguientes: SQL_DROP o SQL_RESET_PARAMS.

Uso

SQLFreeStmt() se puede invocar con las opciones siguientes:

SQL_DROP
Se liberan los recursos de CLI de DB2 asociados al descriptor de sentencia de entrada y se invalida el descriptor de contexto. Se descartan todos los resultados pendientes.

Esta opción se sustituye por una llamada a SQLFreeHandle() con el HandleType establecido en SQL_HANDLE_STMT.

Recomendación: Aunque la versión actual de CLI de DB2 sigue dando soporte a esta opción, utilice SQLFreeHandle() en sus programas CLI de DB2 para que se ajusten a las normas más recientes.

SQL_RESET_PARAMS
Libera todos los almacenamientos intermedios de parámetros establecidos por SQLBindParameter() para StatementHandle.

Como método alternativo, puede descartar el descriptor de sentencia y asignar uno nuevo.

Códigos de retorno

No se devuelve SQL_SUCCESS_WITH_INFO si Option está establecido en SQL_DROP, pues no habría ningún descriptor de sentencia para utilizar cuando se invoca SQLError().

Diagnósticos

Tabla 63. SQLSTATE de SQLFreeStmt

SQLSTATE Descripción Explicación
40003 08S01 Error en el enlace de comunicaciones. El enlace de comunicaciones entre la aplicación y la fuente de datos se interrumpió antes de finalizar la función.
58004 Error inesperado del sistema. Error no recuperable del sistema.
HY001 Error de asignación de memoria. CLI de DB2 no puede asignar la memoria necesaria para ejecutar o finalizar la función.
HY092 Tipo de opción fuera de rango. El valor especificado para el argumento Option no es SQL_DROP ni SQL_RESET_PARAMS.

Restricciones

Ninguna.

Consulta relacionada