热情软件屋

 

在调用m_pSet->AddNew();时报纪录集为只读


编号:QA003305
建立日期: 2000年9月4日 最后修改日期:2003年6月29日
所属类别:

rain:
    操作系统:win98
    编程工具:vc++6.0
    问题:我用VC ODBC开发数据库,但在调用m_pSet->AddNew();时报纪录集为只读?我该怎么解决?请各位大侠们帮忙,我几经没有办法了,如果还有其他的ODBC办法添加记录也行,急!!!我的数据库名字是test.mdb,有一个表单ziliao,有两个字段 "名字"和"年龄"。

回答:

    无疗的意见:
    首先检查为什么数据库为只读,从以下三个方面测试:
    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 "为什么以共享方式打开数据库仍然不能增加记录"

此问题由无疗等回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio