一个主表,两个从表,现在主表要添加,删除,移动记录时,怎么样让‘从表’跟着‘主表’一起变化。
如:
mt_able(主表)
字段:idfield(主键)    afield      bfield
d1_table(从表)
字段:idfield(外键)    efield      ffield
d2_table(从表)
字段:idfield(外键)     gfield     hfieldd1_table和d2_table都用数据敏感控件显示,是不是要在主表的move时件里设置比较好一些?怎么写了?有没有比较好的实现方法?

解决方案 »

  1.   

    一个主 adoquerymain datasourcemain [其中表有id字段]
    两个从 adoqueryc1 datasourcec1     [表中有字段mainid,]
           adoqueryc2 datasourcec2     [表中有字段mainid,]把adoqueryc1,adoqueryc2的datasource属性设置为datasourcemain
    adoqueryc1.sql属性 select * from c1 where mainid=:id
    adoqueryc2.sql属性 select * from c2 where mainid=:id
      

  2.   

    触发器: CREATE TRIGGER Test_add ON 主表 
     FOR INSERT
     AS
     BEGIN
       select @id=idfield from inserted
       update 从表 set idfield=@id
     END CREATE TRIGGER Test_update ON 主表 
     FOR UPDATE
     AS
     BEGIN
       select @id=idfield from updated
       update 从表 set idfield=@id
     END CREATE TRIGGER Test_del ON 主表 
     FOR INSERT
     AS
     BEGIN
       select @id=idfield from inserted
       delete from 从表 where idfield=@id
     END 
      

  3.   

    不好意识:CREATE TRIGGER Test_del ON 主表 
    FOR DELETE  //改下
    AS
    BEGIN
      select @id=idfield from inserted
      delete from 从表 where idfield=@id
    END
      

  4.   

    两个从表都是用dbgrid控件显示,用触发器,会有用吗?触发器在数据端执行,怎么让他显示到dbgrid中呢?