我碰到这样一个问题,用缓存更新数据。
一个主表,一个明细表,这个明细表下面又有一个明细表
我在输入第一个明细表时,什么问题都没有,但在输入第二节明细数据时
却怎么也保存不了数据,新增也是不可以的,请问我应该怎么 解决这个问题,
我现在等着急用啊!!!!
我现在的第二节明细表只能用直接更新的方法
可这样一来,会带来很大的憋段的
请各位高手,帮帮芒啦!听说filter这个属性有用
但不知道怎么用这个东西
请高手帮我研究研究!

解决方案 »

  1.   

    在编辑第二节明细表数据时,先post明细表
      

  2.   

    我用的是bde 
    好象先提哪个应该没什么关系吧
    你们以前做过这类程序吗
    请教教我,实在 熬不下去了
    等得急死了
      

  3.   

    我以前也碰到过这样的问题,要先提交明细表,再主表。
    database.applyupdate([sqldetail,sqlmain]);
      

  4.   

    to cdkey兄:
    你用的是 BDE吗?
    我要提交的是三个表呢,你的函数中只有 两个表啊
    请问用,database.applyupdate([sqldetail,sqlmain]);
    为什么不用 dataset_detail.applyupdates;
               dataset_master.applyupdates;
    最主要的是用了 缓存更新,
    对了,你以前碰到的问题 是这样解决的吗?
    是个什么样的问题,你用的数据控件 很提交方法(缓存更新)更我一样吗?
    谢谢,帮我提供了上面的 东东!
      

  5.   

    我用的是BDE,也是缓存更新。
    也试过
    dataset_detail.applyupdates;
    dataset_master.applyupdates
    但没用,用如下的就可以了
    database.applyupdate([sqlthird,sqldetail,sqlmain]);
      

  6.   

    可我在输入完第一个明细数据时,再输入对应的第二个明细数据时,第二明细数据一但发生post 就在缓存中丢掉了
    你有qq号吗 我的是71497902
    是不是我的设计有问题 你的第二个明细数据的dataset 的datasource 是不是
    连在第一个明细的dataset上?
      

  7.   

    to  cdkey兄:
    当第一个明细数据发生变化(比如移动dbgrid)所对应的第二个明细的数据已经不见了,也就是说,还没等到你用database.applyupdate([sqlthird,sqldetail,sqlmain]);
    方法时 数据已丢掉了,请问,你是怎样处理这个问题的?????
      

  8.   

    是第二个明细的query吗?
    可以写两行代码 吗?
      

  9.   

    to cdkey兄:
     我说老大,别吊我胃口了,快给个原代码 我看看吧 我都急死了
    e-mail : [email protected]
    想要分,我全给你好了,快别吊我胃口了!
      

  10.   

    老大,别老是问人啊,自己解决才有乐趣的。
    在第二个明细的query的onclose事件中加入:
    database.applyupdate([sqlthird,sqldetail,sqlmain]);
      

  11.   

    从主表一个个post不可以吗?
    关注
      

  12.   

    上面写错了,是在第三个query中的beforeclose事件中写。
    给每个表定义一个自增长的主键,用主键关联。
      

  13.   

    谢谢了CDKEY兄!对了,你要多少分,我怎么给你?
    忘了,问你是做什么的?对erp的前途有什么感想!
      

  14.   

    呵呵,结贴就行了。我在一个厂搞软件开发的,对于erp不是很了解,还在用MIS。