SQLGetDiagRec
功能描述
返回包含错误、警告和状态信息的诊断记录的多个字段的当前值。 不同于 SQLGetDiagField,后者每次调用返回一个诊断字段, SQLGetDiagRec 将返回诊断记录的几个常用字段,包括 SQLSTATE、本机错误代码和诊断消息文本。
接口原型
RETCODE SQL_API
SQLGetDiagRec(SQLSMALLINT HandleType,
SQLHANDLE Handle,
SQLSMALLINT RecNumber,
SQLCHAR *Sqlstate,
SQLINTEGER *NativeError,
SQLCHAR *MessageText,
SQLSMALLINT BufferLength,
SQLSMALLINT *TextLength)
参数说明
参数名 | 参数说明 |
---|---|
HandleType | 一个句柄类型标识符,描述需要诊断的句柄的类型。 必须是下列选项之一:
|
Handle | HandleType 指示的类型的诊断数据结构的句柄。 如果 SQL_HANDLE_ENV HandleType ,则句柄可以是共享或非共享环境句柄。 |
RecNumber | 指示应用程序从中查找信息的状态记录。 状态记录从1开始编号。 |
Sqlstate | 指向缓冲区的指针,将在此缓冲区中返回五个字符的 SQLSTATE 代码 (并终止诊断记录 RecNumber 的 NULL)。前两个字符指示类;接下来的三个指示子类。 此信息包含在 SQL_DIAG_SQLSTATE 诊断字段中。 |
NativeError | 指向缓冲区的指针,该缓冲区用于返回特定于数据源的本机错误代码。 此信息包含在 SQL_DIAG_NATIVE 诊断字段中。 |
MessageText | 指向要返回诊断消息文本字符串的缓冲区的指针。 此信息包含在 SQL_DIAG_MESSAGE_TEXT 诊断字段中。 |
BufferLength | MessageText指向的缓冲区的大小。 |
TextLength | 指向缓冲区的指针,将在此缓冲区中返回 null 终止字符) 可在 MessageText 中返回的字符总数 (。 如果可返回的字符数大于 BufferLength,则 MessageText 中的诊断消息文本将截断为 BufferLength 减去 null 终止字符的长度。 |
返回
- SQL_SUCCESS:表示调用正确。
- SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。
- SQL_NO_DATA_FOUND:表示没有找到数据。
其他
无。