你打开数据库的时候好像应该用动态集方式打开还是动态打开,我有点记不清了,反正SQL的打开方式和ORACLE,ACCESS不一样,用错了就是只读了

解决方案 »

  1.   

    检查一下数据库打开操作时,是否设置了readonly。比如,如果你是用CDatabase和CRecordset类的话,检查CDatabase对象Open时,参数bReadOnly是否设置成了TRUE:
    CDatabase::Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC;”, BOOL bUseCursorLib = TRUE );
      

  2.   

    另外,CRecordset对象Open时,不能使用CRecordset::snapshot。