SQLGetCursorName - 获取游标名

用途

规范: DB2 CLI 1.1 ODBC 1.0 ISO CLI

SQLGetCursorName() 返回与输入语句句柄相关联的游标名。如果先前已通过调用 SQLSetCursorName() 显式设置了游标名,则会返回此名称;否则,将返回隐式生成的名称。

语法

SQLRETURN   SQLGetCursorName (
                  SQLHSTMT          StatementHandle,  /* hstmt */
                SQLCHAR      *FAR CursorName,        /* szCursor */
                SQLSMALLINT       BufferLength,      /* cbCursorMax */
                SQLSMALLINT  *FAR NameLengthPtr);    /* pcbCursor */

函数自变量

表 64. SQLGetCursorName 自变量

数据类型 自变量 使用 描述
SQLHSTMT StatementHandle 输入 语句句柄
SQLCHAR * CursorName 输出 游标名
SQLSMALLINT BufferLength 输入 CursorName 缓冲区的长度
SQLSMALLINT * NameLengthPtr 输出 可为 CursorName 返回的字节数

用法

SQLGetCursorName() 返回用 SQLSetCursorName() 显式设置的游标名,或者,如果未设置任何名称,则它返回 DB2 CLI 内部生成的游标名。

如果使用 SQLSetCursorName() 显式设置了一个名称,则在删除语句之前,或在设置另一显式名称之前,返回此名称。

内部生成的游标名总是以 SQLCUR 或 SQL_CUR 开始。游标名总是不超过 18 个字符,且在连接中总是唯一的。

返回码

诊断

表 65. SQLGetCursorName SQLSTATE

SQLSTATE 描述 解释
01004 数据被截断。 CursorName 中返回的游标名比 BufferLength 中的值要长,被截断为 BufferLength - 1 个字节。NameLengthPtr 自变量包含可返回的完整游标名的长度。此函数返回 SQL_SUCCESS_WITH_INFO。
40003 08S01 通信链路故障。 函数尚未完成,应用程序与数据源间的通信链路就失效了。
58004 意外系统故障。 不可恢复的系统错误。
HY001 内存分配失败。 DB2 CLI 无法分配支持函数的执行或完成所需的内存。
HY010 函数顺序错误。

执行“处理数据”的操作(SQLParamData()SQLPutData())时调用了该函数。

HY013 发生意外的内存处理错误。 DB2 CLI 无法访问支持函数的执行或完成所需的内存。
HY090 字符串或缓冲区长度无效。 BufferLength 自变量指定的值小于 0。

限制

无。

相关参考