我用ADO的recordset对象,想要删除我找到满足条件的所有纪录,
m_pSet->Delete(adAffectGroup);//在数据库中删除查询到的所有纪录。这里需要做什么操作?才能删除我要删除的纪录?

解决方案 »

  1.   

    需要先调用m_pSet->Filter = varFilter
    其中varFilter是你需要删除记录的条件
      

  2.   

    其实,干嘛 不用" delete from 表名 where 你的条件"呢。
    这样可以只执行一句SQL就搞定,用不着找来找去的。
      

  3.   

    adAffectGroup,我没用过,我用的是adAffectCurrent
    用循环语句也可以删除所有的符合条件的内容大致流程:
       hr=pRecordSet.CreateInstance(_uuidof(Recordset));
       if(SUCCEEDED(hr))
       {
         pRecordSet->PutRefActiveConnection(m_pConnection);
         hr=pRecordSet->Open(_variant_t(bstrQuery),vNull,
    adOpenForwardOnly,adLockOptimistic,adCmdText);
    if(!pRecordSet->GetadoEOF())
    {
                while(!pRecordSet->GetadoEOF())
                {
        //删之
        pRecordSet->Delete(adAffectCurrent);
                 pRecordSet->MoveNext();
                 }
                pRecordSet->Close();
    }
         }
      

  4.   

    已经搞定,大家分了吧几种方法都可以删除的,详细去看了msdn,试验了几种方法。