在用MFC数据库类CDatabase和CRecordset类声明的对像无法对打开的数据集进行编辑、添加、删除。偶然间让我碰到个这样的问题让我费了不少精神,不知道为什么数据库能正常打开,数据集也正常Open。可是就是没办法进入编辑状态,老是会弹出“记录集只读”的提示。
------------------------------------------------------------------------------------------------------------------------------
CDatabase db;
db.OpenEx (_T"DSN=strtab");
CRecordset m_Set (&db);
m_Set.Open (AFX_DB_USE_DEFAULT_TYPE, _T"select *from strtab");
if (!m_Set.IsOpen ()) AfxMessageBox ("数据集没能打开!");
m_Set.Edit ();
--------------------------------------------------------------------------------------------------------------------------------
检查一下自己的程序,发现不管是声明的CDatabase对像还是通过CRecordset对像打开的记录集都使用的是缺省参数,而在我的记忆中CDatabase::OpenEx()和CRecordset::Open()这两个成员函数的缺省参数打开的记录集和数据库对像都是非只读的。倒底是那里的问题呢?
BOOL CDatabase::OpenEx(LPCTSTR lpszConnectString, DWORD dwOptions)
virtual BOOL Open(UINT nOpenTy
有关MFC ODBC类对打开的CRecordset数据集无法进行更新操作释疑
最新推荐文章于 2023-11-22 23:17:35 发布