代码:
try
{
strSQL="......
pConnection->Execute((_bstr_t)strSQL,NULL,adCmdText);
}
catch(_com_error e)
{
TRACE("%u,%s",e.Error(),e.ErrorMessage());
}不论是SQL语句出错,还是记录key值重复,总是得到"2147500037,未指定的错误"这样的结果。我现在主要是想根据catch到的错误,把重复的纪录跳过去,大家帮我看看为什么呀?
我的数据库用的是PSQL运行于Linux下,ADO程序运行于Win2000。
try
{
strSQL="......
pConnection->Execute((_bstr_t)strSQL,NULL,adCmdText);
}
catch(_com_error e)
{
TRACE("%u,%s",e.Error(),e.ErrorMessage());
}不论是SQL语句出错,还是记录key值重复,总是得到"2147500037,未指定的错误"这样的结果。我现在主要是想根据catch到的错误,把重复的纪录跳过去,大家帮我看看为什么呀?
我的数据库用的是PSQL运行于Linux下,ADO程序运行于Win2000。
e.Description());里的内容更详细一些。e.Error()用
%x显示好一些
TRACE("%u,%x,%s",e.Error(),e.ErrorMessage(),e.Description());
结果:
"2147500037,177028,??"
此外,e.Description()的类型是_bstr_t,需要用重载的操作符(char*)来返回通常使用的字符串。
但为什么ErrorCode都是“未指定的错误”?