各位高手,
我的代码如下
CRecordset *m_pSet;
...
m_pSet->Open(CRecordset::dynamic,NULL,CRecordset::none);
m_pSet->AddNew();
...
执行到m_pSet->AddNew();时总是报记录集只读,为什么?
另外这样打开的记录即可以正确读数据。

解决方案 »

  1.   

    你open函数这样写试试
    m_pSet->open(CRecordset::forwardonly,_T(select......));
      

  2.   

    如果是ACCESS数据库,先检查数据库文件的属性,将“只读”属性去掉。
    再就是你打开数据库的用户的权限够吗?
      

  3.   

    bysen() 上说的应该可以
    CRecordset set(((CWinApp*)AfxGetApp())->GetRemoteDB());
    CString sql = "Select Max(Phase_ID) as maxid FROM Project_Phase";
    set.Open(CRecordset::forwardOnly, sql);
    ...
    set.AddNew();
    ...
    set.
      

  4.   

    看看你的SQL语句,是否使用了多表联合查询