不知道大家有没有遇过这种情况:
vc+ADO + SQL SERVER 插入数据时不成功也不报错? try
{
      
          m_pRecordset.CreateInstance("ADODB.Recordset");
     m_pRecordset->Open(_bstr_t(szSQL),
           _variant_t((IDispatch*)m_pConnection,true),
          adOpenStatic,
          adLockOptimistic,adCmdText);
          }         catch(_com_error e)
{
            AfxMessageBox("出错了");
         }
 假如是sql语句错它会提示,一般的错误也提示,但是有时明明没有插入数据成功也没有报错!

解决方案 »

  1.   

    szSQL 在查询分析器里能用吗?
      

  2.   

    szSQL 在查询分析器里能用,不过我不是讨论szSQL能不能用,而是这里的szSQL执行失败没有捕捉到异常。因为我这个程序是用来批处理SQL的,如果执行成功了我会把他从队列中去掉,不成功时
    下次再执行。现在执行不成功也捕捉不到异常,导致程序没有方法完成任务。
      

  3.   

    没遇到过,因为从来没用recordset的open方法去执行插入操作。还是老老实实用两个connection吧,一个用来打开recordset,一个用来执行更新操作,这样也许问题就不会再出现了。
      

  4.   

    那么 m_pRecordset->Open的返回值是什么?
      

  5.   

    看看这个: http://community.csdn.net/Expert/topic/4445/4445013.xml?temp=.6219904
      

  6.   

    insert语句不会返回Recordset,应该用connection或command对象执行。
      

  7.   

    connection execute 来执行吧,