捕获不到插入数据的异常

jiqiang01234 2011-09-26 10:03:04
bool CADOBase::ExecuteCommand(const _bstr_t& CmdText, CSafeLogSize* log)
{
try
{
VARIANT affect;
affect.vt = VT_I4;
affect.lVal = adAffectCurrent;
if (log)
{
log->Write("%s", (LPCSTR)CmdText);--------------------(1)
}
m_pConnection->Execute(CmdText, &affect, adCmdText);
if (log)
{
log->Write("调用Execute后");
}
}
catch (_com_error& e)
{
UNREFERENCED_PARAMETER(e);

if (log)
{
log->Write("%s", (LPCSTR)e.Description());
}
return false;
}
catch(...)
{
if (log)
{
log->Write("不知名异常");
}
return false;
}

return true;
}

现在的现象是,已经执行到(1),也就是日志到了这里,而且日志中记录的数据也是正常的。但是之后程序就直接退出了,因为是服务端程序,只能看日志。可问题是,异常捕捉不到,没有留下一点痕迹。vc2005编译的,而且启动了/Eha选项。
...全文
194 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2011-10-10
  • 打赏
  • 举报
回复
这句话:m_pConnection->Execute(CmdText, &affect, adCmdText);
改成:HRESULT hr=m_pConnection->Execute(CmdText, &affect, adCmdText);

执行后,看看hr的是否为0!
jiqiang01234 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zgl7903 的回复:]
捕捉不到异常也可能是成功完成了操作,看运行返回值
[/Quote]
返回值也看不到,也就是说进程在执行过此函数过程中已经崩溃退出了
zgl7903 2011-09-26
  • 打赏
  • 举报
回复
捕捉不到异常也可能是成功完成了操作,看运行返回值
jiqiang01234 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 buyong 的回复:]
根据log里的sql语句,直接在数据库上执行,是否正常?
[/Quote]
正常的
buyong 2011-09-26
  • 打赏
  • 举报
回复
根据log里的sql语句,直接在数据库上执行,是否正常?

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧