可能的原因:
1.用了只读的打开方式
2.用了SQL语句查询的方式,导致不支持更新.

解决方案 »

  1.   

    要同时打开多个记录集!
    怎么打开?
    下面这样行不
    CMainFrame *pMainFrm = (CMainFrame*)AfxGetMainWnd();
    CATMDoc *pDoc = (CATMDoc*)pMainFrm->GetActiveDocument();

    if(m_atminfoset == NULL){
    m_atminfoset = new CAtmInfoSet(&pDoc->m_AtmDatabase);
    m_atminfoset->Open(0, NULL, 0);
    } if(m_areaset == NULL){
    m_areaset = new CAreaSet(&pDoc->m_AtmDatabase);
    m_areaset->Open(0, NULL, 0);
    } if(m_rptrequestset == NULL){
    m_rptrequestset = new CRptRequestSet(&pDoc->m_AtmDatabase);
    m_rptrequestset->Open(0,NULL,NULL);
    } if(m_serailset == NULL){
    m_serailset = new CSerailSet(&pDoc->m_AtmDatabase);
    m_serailset->Open(0,NULL,NULL);
    } if(!m_atminfoset->IsOpen() || !m_areaset->IsOpen() || !m_rptrequestset->IsOpen() || !m_serailset->IsOpen()){
    AfxMessageBox("数据库还未打开!");
    m_atminfoset = NULL;
    m_areaset = NULL;
    m_rptrequestset = NULL;
    m_serailset = NULL;
    return TRUE;
    }