有这么一个操作,从数据库中检索出来数据之后,
导入另一个数据库中,导入一条,删除一条 该如何操作呢? 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

解决方案 »

  1.   

    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());  
     }  
      

  2.   

    没有人帮助?还是我的问题太幼稚for ()
    {
        record->addNew();
    }
    record->Update()
    是否可以呢 
      

  3.   

                   增加一条记录 
                            m_pRecordset->AddNew();    //添加新记录
    m_pRecordset->PutCollect("num",_variant_t(m_num));  
    m_pRecordset->Update();    //保存到库中
                       删除一条记录
                             m_pRecordset->Delete(adAffectCurrent);
      

  4.   

    我的意思是 ,->AddNew//赋值 
    ->AddNew//赋值 这样多个 addnew 之后 才  update 是否可以 
      

  5.   

    update的作用就是更新一次,虽然不用,一般还是会显示更新,但是用的话比较保险,你放在循环外面当然可以
      

  6.   

    //打开远程数据库
    CDatabase *m_pRemoteDataBase = new CDatabase(); 
    TRY 
    {
    //打开远程数据库
    m_pRemoteDataBase->OpenEx(theApp.getRemoteDataBaseLinkInfo(), CDatabase::noOdbcDialog ); }
    CATCH (CException, e)
    {
    delete m_pRemoteDataBase;
    return FALSE;
    }
    END_CATCH //打开本地数据库
    CDatabase *m_pLocalDataBase = new CDatabase(); 
    TRY 
    {
    //打开远程数据库
    m_pLocalDataBase->OpenEx(theApp.getLocalDataBaseLinkInfo(), CDatabase::noOdbcDialog ); }
    CATCH (CException, e)
    {
    delete m_pLocalDataBase;
    return FALSE;
    }
    END_CATCH CEFORCEREMOTE_TRANS  m_LocalDataTable(m_pLocalDataBase);
    CEFORCEREMOTE_TRANS m_RemoteDataTable(m_pRemoteDataBase); //TRY 
    {
    m_LocalDataTable.Open(CRecordset::dynaset/*,_T("Selete * from ss_cjsj")*/);
    m_RemoteDataTable.Open(CRecordset::dynaset);
    if(m_LocalDataTable.IsOpen()&&m_RemoteDataTable.IsOpen())
    {
    m_LocalDataTable.Requery();
    m_LocalDataTable.MoveFirst();
    while(!m_LocalDataTable.IsEOF())
    {
    //
    m_RemoteDataTable.AddNew();
    m_RemoteDataTable. m_YBID = m_LocalDataTable.m_YBID;        //仪表编码
    m_RemoteDataTable. m_ZQPL = m_LocalDataTable.m_ZQPL;        //周期频率
    m_RemoteDataTable. m_SJ = m_LocalDataTable.m_SJ;  //时间 m_RemoteDataTable. m_QL = -1;//m_LocalDataTable.m_QL;          //气量
    m_RemoteDataTable. m_HSYLL = -1;// m_LocalDataTable.m_HSYLL;       //含水油流量
    m_RemoteDataTable. m_HSYZL = -1;// m_LocalDataTable.m_HSYZL;       //含水油质量
    m_RemoteDataTable. m_CYZL = -1;// m_LocalDataTable.m_CYZL;        //纯油质量
    m_RemoteDataTable. m_TJHSL = -1;// m_LocalDataTable.m_TJHSL;       //体积含水率
    m_RemoteDataTable. m_WSLL = -1;// m_LocalDataTable.m_WSLL;        //污水流量
    m_RemoteDataTable. m_LYYL = -1;// m_LocalDataTable.m_LYYL;        //来液压力
    m_RemoteDataTable. m_LYWD = -1;// m_LocalDataTable.m_LYWD;        //来液温度 m_RemoteDataTable. m_YQYW = -1;// m_LocalDataTable.m_YQYW;       //油腔液位
    m_RemoteDataTable. m_SQYW = -1;// m_LocalDataTable.m_SQYW;       //水腔液位
    m_RemoteDataTable. m_QTND = -1;// m_LocalDataTable.m_QTND;       //可燃气体浓度
    m_RemoteDataTable. m_BTHSYLL = -1;// m_LocalDataTable.m_BTHSYLL;    //表头含水油流量
    m_RemoteDataTable. m_BTHSYZL = -1;// m_LocalDataTable.m_BTHSYZL;    //表头含水油质量
    m_RemoteDataTable. m_BTCYZL = -1;// m_LocalDataTable.m_BTCYZL;     //表头纯油质量
    m_RemoteDataTable. m_BTQL = -1;// m_LocalDataTable.m_BTQL;       //表头气量
    m_LocalDataTable.Edit();
    m_LocalDataTable.Delete();
    m_LocalDataTable.Update(); m_RemoteDataTable.Update(); m_LocalDataTable.MoveNext();
    } }
    }
    //CATCH (CMemoryException, e)
    {

    }
    //END_CATCH if(m_LocalDataTable.IsOpen()) m_LocalDataTable.Close();
    if(m_RemoteDataTable.IsOpen()) m_RemoteDataTable.Close(); if(m_pLocalDataBase->IsOpen()) m_pLocalDataBase->Close();
    if(m_pRemoteDataBase->IsOpen()) m_pRemoteDataBase->Close(); delete m_pLocalDataBase;
    delete m_pRemoteDataBase;
    }
      

  7.   

    非常感谢  u010851312解决了,提供的源码 去掉 Update 就可以了