请问怎么处理多表Join数据的更新问题,我用的是ADO组件

解决方案 »

  1.   

    一个使用sql 解决
    二是在datasetprider的 UpdateData事件里写一个表一个表的写(李维的书上写的)
      

  2.   

    对了。我刚才看了一下书,ado自动支持多表更新,前提是D a t a S e t
    P r o v i d e r 的R e s o l v e To D a t a S e t为Tr u e现在,在这个A D O应用程序服务器中有一个非常重要的步骤就是设定D a t a S e t
    P r o v i d e r 2的R e s o l v e To D a t a S e t为Tr u e。这可以让客户端应用程序更新的数据通过
    A D O本身的能力更新数据,而不要让M I D A S的SQL Resolver来更新数据。因为现
    在的数据是从四个不同的数据表J o i n来的,而M I D A S的SQL Resolver只能更新一个
    数据表的数据,而无法同时更新数个不同的数据表,但是A D O却可以。因此我们
    设定R e s o l v e To D a t a S e t为Tr u e,让A D O来负责更新这些数据。这就是在使用A D O做
    分布式多层应用系统时程序员必须知道的技巧。当然在前面处理单一数据表的情
    形中程序员也可以设定R e s o l v e To D a t a S e t为Tr u e,干脆让A D O处理所有更新数据的
    情形算了。
    现在,在这个A D O应用程序服务器中有一个非常重要的步骤就是设定D a t a S e t
    P r o v i d e r 2的R e s o l v e To D a t a S e t为Tr u e。这可以让客户端应用程序更新的数据通过
    A D O本身的能力更新数据,而不要让M I D A S的SQL Resolver来更新数据。因为现
    在的数据是从四个不同的数据表J o i n来的,而M I D A S的SQL Resolver只能更新一个
    数据表的数据,而无法同时更新数个不同的数据表,但是A D O却可以。因此我们
    设定R e s o l v e To D a t a S e t为Tr u e,让A D O来负责更新这些数据。这就是在使用A D O做
    分布式多层应用系统时程序员必须知道的技巧。当然在前面处理单一数据表的情
    形中程序员也可以设定R e s o l v e To D a t a S e t为Tr u e,干脆让A D O处理所有更新数据的
    情形算了。
      

  3.   

    把不用更新的字段换成Lookup字段。如果还存在多表那只能一张一张表进行更新了在业务规则层自己封装更新方法,客户段调用。
      

  4.   

    theone_jxm()的方法需要测试,ado是有这个特性,但不知道是否确实可行。假如可以真是太好了!!!在datasetprider的 BeforeUpdateData事件中处理,这样至少放心一些吧。
      

  5.   

    theone_jxm() 说的很对,支持