在调用m_pSet->AddNew();时报纪录集为只读
编号:QA003305
建立日期: 2000年9月4日 最后修改日期:2003年6月29日
所属类别:
Q
rain:
操作系统:win98
编程工具:vc++6.0
问题:我用VC ODBC开发数据库,但在调用m_pSet->AddNew();时报纪录集为只读?我该怎么解决?请各位大侠们帮忙,我几经没有办法了,如果还有其他的ODBC办法添加记录也行,急!!!我的数据库名字是test.mdb,有一个表单ziliao,有两个字段 "名字"和"年龄"。
A回答:
无疗的意见:
首先检查为什么数据库为只读,从以下三个方面测试:
1 在资源管理器中查看test.mdb文件的属性,是否为只读。试着用Access直接打开test,看看能否添加记录。
2 在控制面板的ODBC部分,检查该数据源的权限设置,看看是否被设定为只读,以及确定不是设定为独占模式。
3 用Access打开test,使用数据库修复功能修复数据库,数据库如果被独占或者损坏也会导致添加失败。
关于添加记录的其他方法,可以使用ExecuteSQL方法进行添加数据,例如:
CString strCmd = "INSERT INTO ziliao (姓名,年龄) values (\"老不死\",99)";
m_dbCust.ExecuteSQL( strCmd );
jiangtao的意见:
将记录集的打开方式设为keyset or dynamic。
wei的意见:
1.表中定义主关键字(也用于SQL SERVER等大型数据库);
2.给用户分配权限;
3.数据库文件必须是非只读(对于.MDB格式)。
4.给我写信,交朋友weijian0269@sina.com。
efgefg:用组合查询的结果集可以用来添加、修改、删除操作吗?
李海答:一般不可以。
相关问题:
QA001124 "为什么以共享方式打开数据库仍然不能增加记录"
此问题由无疗等回答。
| |
|
|
| |
|
|