SQLGetDiagRec
功能描述
返回诊断记录的多个字段的当前值,其中诊断记录包含错误、警告及状态信息。
原型
SQLRETURN SQLGetDiagRec(SQLSMALLINT HandleType
SQLHANDLE Handle,
SQLSMALLINT RecNumber,
SQLCHAR *SQLState,
SQLINTEGER *NativeErrorPtr,
SQLCHAR *MessageText,
SQLSMALLINT BufferLength
SQLSMALLINT *TextLengthPtr);
参数
表 1 SQLGetDiagRec参数
返回值
- SQL_SUCCESS:表示调用正确。
- SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。
- SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。
- SQL_INVALID_HANDLE:表示调用无效句柄。其他API的返回值同理。
注意事项
SQLGetDiagRec不发布自己的诊断记录。它用下列返回值来报告它自己的执行结果:
- SQL_SUCCESS:函数成功返回诊断信息。
- SQL_SUCCESS_WITH_INFO:MessageText太小以致不能容纳所请求的诊断信息。没有诊断记录生成。
- SQL_INVALID_HANDLE:由HandType和Handle所指出的句柄是不合法句柄。
- SQL_ERROR:RecNumber小于等于0或BufferLength小于0。
如果调用ODBC函数返回SQL_ERROR或SQL_SUCCESS_WITH_INFO,可调用SQLGetDiagRec返回诊断信息值SQLSTATE,SQLSTATE值的如下表。
表 2 SQLSTATE值
示例
参见:示例