如何删除呢?
有这么一个操作,从数据库中检索出来数据之后,
导入另一个数据库中,导入一条,删除一条 该如何操作呢?
CEFORCEREMOTE_TRANS *m_pLocalDataTable = new CEFORCEREMOTE_TRANS(m_pLocalDataBase);
CEFORCEREMOTE_TRANS *m_pRemoteDataTable = new CEFORCEREMOTE_TRANS(m_pRemoteDataBase);
TRY
{
m_pLocalDataTable->Open(CRecordset::dynaset);
if(m_pLocalDataTable->IsOpen())
{
m_pLocalDataTable->Requery();
while(!m_pLocalDataTable->IsBOF())
{
//
}
}
}
CATCH (CException, e)
{
}
END_CATCH
CRecordSet
[解决办法]
try {
//查询num等于 m_tree.GetItemData(hItem)的记录
CString sNum = ItemData->num;
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
// //获取字段值
_variant_t vnum= m_pRecordset->GetCollect("num");
if(vnum==(sNum))
{
m_pRecordset->Delete(adAffectCurrent); // 参数adAffectCurrent为删除当前记录
}
m_pRecordset->Update();
m_pRecordset->MoveNext(); //移到下一条记录
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
[解决办法]
增加一条记录
m_pRecordset->AddNew(); //添加新记录
m_pRecordset->PutCollect("num",_variant_t(m_num));
m_pRecordset->Update(); //保存到库中
删除一条记录
m_pRecordset->Delete(adAffectCurrent);
[解决办法]
update的作用就是更新一次,虽然不用,一般还是会显示更新,但是用的话比较保险,你放在循环外面当然可以