我用ADO执行一个存储过程,该存储过程在查询分析器里执行会报错,错误如下:
【服务器: 消息 207,级别 16,状态 3,过程 sp_Getit 93
列名 'timingrecordtime' 无效。】而用VC的ADO代码执行,却捕捉不到这个错误(例外),函数执行后成功返回。
我的ADO代码如下:
variant_t RecordsAffected;
try
{
ADOConn->Execute(strSQL.bstrVal, &RecordsAffected, adCmdText);
return true;
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
WriteDebug((char *)(_bstr_t)strSQL);
AfxMessageBox(err);
return false;
}各位请指点一下,ADO为什么捕捉不到这个错误??要怎样才能捕捉到这个错误???小弟多谢了!
【服务器: 消息 207,级别 16,状态 3,过程 sp_Getit 93
列名 'timingrecordtime' 无效。】而用VC的ADO代码执行,却捕捉不到这个错误(例外),函数执行后成功返回。
我的ADO代码如下:
variant_t RecordsAffected;
try
{
ADOConn->Execute(strSQL.bstrVal, &RecordsAffected, adCmdText);
return true;
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
WriteDebug((char *)(_bstr_t)strSQL);
AfxMessageBox(err);
return false;
}各位请指点一下,ADO为什么捕捉不到这个错误??要怎样才能捕捉到这个错误???小弟多谢了!
我看代码中执行的是命令嘛!
有一点不太明白,如果存储过程错误,好像是不能通过语法检查
也不能保存的,换句话说,你的存储过程应该是没有语法错误(如列名无效)
是不是查询分析器有时候要给出相对完整的对象名?