热情软件屋

 

出错提示为"IDEX IS READ ONLY"


编号:QA003584
建立日期: 2000年11月26日 最后修改日期:2000年11月26日
所属类别:

马东:
    操作系统:WIN98
    编程工具:C++BUIDER
    问题:编程过程中,我在一个窗体内利用TABLE、DATASOURCE、DBGRID组件同时打开了三个表,把第一个作为主表,第二、三两个表作为子表,利用三个表的索引字段进行指针链接,使第二、三两个表的指针随着第一表的变化而改变,在窗口中有我为每一个表都放置了两个BUTTON 组件,主表第一个BUTTON的执行代码为 :
     TABLE1->EDIT();
     TABLE1->INSERT();
    第二个的执行代码为:
     TABLE1->POST();
    子表的第一BUTTON的执行代码为:
     TABLE2->EDIT();
     TABLE2->INSERT();
    第二个的执行代码为:
     TABLE2->POST();
    对程序进行编译链接都正常通过,试运行程中对主表进行操作一切正常,子表执行插入功能时能够正常插入空记录,但是当数据录入后执行存盘功能时程序出错,出错提示为"IDEX IS READ ONLY",请各位专家帮帮忙。
    水平: 刚入门

回答:

    我可以试着回答这个问题,我没有用过c++builder但是我用delphi时遇到过这个问题,我的方法是:建立主明晰表,如果只是浏览可以用,TAble,datasorce等控件的mastersource等属性连接,如果需要操作就不要这么做了,而是用SQL语言直接操作,你可以用select语句查询明晰表中的关键字和主表的关键字相同的记录,再将结果显示在明晰表的DBGrid里,添加,删除和更新也一样,用insert,delete和update直接操作,切记不要按普通方法设置关于主明晰表的所有属性。这是我的方法,如果有更好的方法也请告诉我。

此问题由winterrain回答。

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

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