ADO操作提示"不正确的变量类型"

风吹草低现羊牛 2010-07-26 03:36:50
	int adoExecute(const _bstr_t *CommandText, VARIANT * RecordsAffected, const long Options=adCmdText)
{
try
{
m_pConnection->Execute(*CommandText,RecordsAffected,Options);
}
catch(_com_error e)
{
char ch[100];
sprintf(ch,"执行SQL语句出错,错误编号:%s",e.ErrorMessage());
MessageBox(NULL,ch,"SQL语名出错",0);
char *tch="IDispatch error #3119";
if(!strcmp(e.ErrorMessage(),"IDispatch error #3119"))
return 3;
return 0;
}
return 1;
}


e.ErrorMessage() 得到的是不正确的变量类型...但是我的SQL语句又执行成功了....这应该怎么处理呀......

谢谢咯...
...全文
120 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
herman~~ 2010-07-26
  • 打赏
  • 举报
回复
不太清楚com里面执行excute的机制,也可能是执行的过程抛出了异常 。重点还是检查下 数据类型和sql语句有没问题
gary_cai 2010-07-26
  • 打赏
  • 举报
回复
检查下前面的类型是否有定义错误
太乙 2010-07-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 morbi 的回复:]
楼主说的基本不可能。try和catch只可能执行一个。怎么会执行两个呢?
[/Quote]try 执行过程中抛出异常,进入catch。。。
冰水混合物l 2010-07-26
  • 打赏
  • 举报
回复
楼主说的基本不可能。try和catch只可能执行一个。怎么会执行两个呢?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ypb362148418 的回复:]
e.ErrorMessage()得到的是什么?若是执行成功了catch就不会走进去,只有异常,catch才会接收啊
[/Quote]

但是确实SQL执行成,并且进入了CATCH...这个让我很郁闷...
ypb362148418 2010-07-26
  • 打赏
  • 举报
回复
e.ErrorMessage()得到的是什么?若是执行成功了catch就不会走进去,只有异常,catch才会接收啊

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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