我现在有两个DataSet 第一个DataSet是一张Contract表(字段是:CustomerNo(pk) ,ContractNo(pk) BuyName ); 第二个DataSet是一张Customer表的(字段是:CustomerNo(pk) CustName )有一个问题就是在,修改Customer表的CustName,的同时,把Contract表的BuyName 的数据更新为Customer表的CustName的数据????

解决方案 »

  1.   

    方法比较多,写1个触发器
    也可以用C#、vb在业务逻辑中写,
    也可以关联
      

  2.   

    这个不难吧?不过有两个问题
    1. 为什么要两个DataSet,在一个里面不是更好?加上DataRelation不好吗?
    2. 为什么这样的更新操作不直接在数据库里面用SQL执行?
      

  3.   

    update Customer set CustName = 传入Value where 条件
    if @@rowcount <> 0
    begin
         update Contract set BuyName = 传入Value where 条件
    end
      

  4.   

    绑定DataTable的RowChanged事件到修改的脚本
    ds.Tables["Customer"].RowChanged += new DataRowChangeEventHandler(OnCurstomerRowChanged);然后        private void OnCurstomerRowChanged(object sender, DataRowChangeEventArgs e)
            {
                if (e.Action == DataRowAction.Change)
                {
                    DataTable dt = (DataTable)sender;
                    int customerNo = Convert.ToInt32(e.Row["CustomerNo"]);
                    string custName = e.Row["CustName"].ToString();                //TODO:循环更新Contract表中所有CustomerNo等于customerNo的记录的BuyName为custName.
                }
            }只是我从事件的角度想的个方法,具体我对DataRowChangeEventHandler不熟悉,楼主自己尝试.
      

  5.   

    同意Reeezak(坚持信念)的说法
    直接在数据库中更新效率会更高