使用ADO连接SQL SERVER ,代码段如下:
_RecordsetPtr pRecordset ;...
for(...)
{
    try
   {  
       ...
       pRecordset->Update() ;     
   }
   catch(_com_error e){ }
...
}
当pRecordset->Update()执行失败后,继续循环,但刚进try段即跳到catch段,
try内的语句不再执行,我想可能是COM的错误没有清除,那么怎么解决呢?

解决方案 »

  1.   

    呵呵呵for(...)
    {    try
       {  
           ...
           try
           {
                pRecordset->Update() ;
           }
           catch(_com_error e){ }   }
       catch(_com_error e){ }
    ...
    }
      

  2.   

    楼主确定pRecordset成功创建了和成功打开了吗
    if(SUCCEEDED(pRecordset.CreateInstance(__uuidof(Recordset)))
    {
       if(SUCCEEDED(pRecordset->Open(...))
       {
         try
         {
           ....
          }
          catch(){}
        }
    }当然也可以简单地
    if(NULL != pRecorset)判断一下好像不少同志碰到类似问题,我猜想是这个原因