主表A DBGRID1
从表B 从表C DBGRID2
DBGRID1 显示的是主表A 
DBGRID2 显示的字段是 B.1 B.2  C.1 C2  单击DBGRID1的时候DBGRID2数据改变A.1关联B.1  B.2关联C.2DBGRID2上B.1 B.2 C.2列只读,我直接在DBGRID2上修改C.1数据就会出现错误使用事务的话也不行,C.1的数据不能保存的请问有什么方法解决这问题 

解决方案 »

  1.   

    建View(包主键).主键那列可设为不可视.根据主键更新
      

  2.   

    也可以单单的把DBGrid2做为显示用,在后台通过独立的SQL做更新
      

  3.   

    如果是复合查询的话,不能通过dbgrid去修改,保存数据。
      

  4.   

    关联查出的结果集是只读的,放到GRID里只能浏览。
    可以有两种方法处理:
    1、子DBGRID只取C表数据,B表字段用计算字段方式显示
    2、提供单独的编辑控件修改C表字段值,用SQL方式更新。
      

  5.   

    从表是B,C两表的关联查询,不能直接修改,可以是要update更新