none
VC++ Recordset is read-only!? RRS feed

  • 问题

  • 我用MFC ODBC和ACCESS数据库编的程序,运行中要修改数据库时就弹出对话框Recordset is read-only!~求解啊!~

    下面是我主对话框中的添加按钮的代码:

    void CScore_managementView::OnBUTTONAdd() 
    {
    CDIALOG1 dlg;
      if( dlg.DoModal()==IDOK )
       { //按IDD_DIALOG1 的"OK"按钮返回之后:
     int flag=0;
     m_pSet->MoveFirst(  );
          UpdateData(TRUE); 
     while(!m_pSet->IsEOF())
     { 
          if(dlg.m_AddSno==m_pSet->m_sno)
      {flag=1;
    MessageBox("该学生信息已存在","管理系统", 0);
      return;
      }
      m_pSet->MoveNext(  );
     }
     if(flag==0)
     {
         m_pSet->AddNew( ); //先执行追加新记录的功能函数AddNew()
              m_pSet->m_sno= dlg.m_AddSno;//给学号、姓名字段赋值:
              m_pSet->m_sn = dlg.m_AddSn;
              m_pSet->m_sex=dlg.m_AddSex;
              m_pSet->m_age=dlg.m_AddAge;
     m_pSet->m_dept=dlg.m_AddDept;
              m_pSet->Update( ) ; //新记录写入数据库的数据表
              m_pSet->Requery( ); //刷新记录集。这将改动"物理"数据库。
     MessageBox("添加成功","学生管理系统",0);
     }
      }  
    }

    求助,帮忙啊!~

    我验证过了,是我的Recordset不能Update,这个怎么解决啊!?
    • 已编辑 猫茶 2012年4月18日 5:17
    2012年4月18日 4:45