CString sTemp, sID;
_RecordsetPtr m_pRecordset;while(m_pRecordset->adoEOF == VARIANT_FALSE){
sTemp = m_pRecordset->Fields->GetItem(L"ID")->Value;
sTemp.Trim();
if(sTemp.Compare(sID) == 0){
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Update();
break;
} m_pRecordset->MoveNext();
}删除一条记录后再进行检索就会出现问题,请问如何解决?
谢谢

解决方案 »

  1.   

    我看了msdn,应该是m_pRecordset->Delete(adAffectCurrent);
    m_pRecordset->Update();
    这两句有问题,照理说查找到的记录应该已经被删除了,但下一次循环时记录集指针
    还是会指向它,然后就会报错:Runtime Error,具体错误我也不清楚。附msdn关于Delete方法的一段评论:
    Retrieving field values from the deleted record generates an error. After deleting the current record, the deleted record remains current until you move to a different record. Once you move away from the deleted record, it is no longer accessible.