出错提示为"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回答。
| |
|
|
| |
|
|