更新明细表的外键-优化方法UpdateDetailKey|C/S框架网
作者:C/S框架网  发布日期:2019-01-27 14:02:39
  更新明细表的外键-优化方法UpdateDetailKey|C/S框架网

UpdateDetailKey方法用于在保存数据时,自动更新明细表的外键值,此方法必须提供三个参数:

1. 【明细表DataTable实例】
2. 【外键字段名称】
3. 【外键字段的值】

C# Code:

/// <summary>
/// 更新明细表的外键
/// </summary>
/// <param name="detail">明细表</param>
/// <param name="foreignFieldName">外键字段名称</param>
/// <param name="foreignKeyValue">外键值</param>
protected void UpdateDetailKey(DataTable detail, string foreignFieldName, string foreignKeyValue)
{
   if (detail == null)
   throw new Exception("明细表不能为空(null)!");
   
   if (String.IsNullOrEmpty(foreignFieldName))
   throw new Exception("明细表没指定外键, 请检查表模型定义!");
   
   foreach (DataRow row in detail.Rows)
   {
      //仅新增记录才需要更新外键,注意状态的使用
      if (row.RowState == DataRowState.Added)
      {
         if (String.IsNullOrEmpty(foreignKeyValue))
         throw new Exception("外键值为空!");
         else
         row[foreignFieldName] = foreignKeyValue;
      }
   }
}

//来源:C/S框架网(www.csframework.com) QQ:23404761


注:此BUG修复适用所有C/S框架网的产品



参考文档:

支持主从表BLL单独提交明细表优化UpdateDetailKey方法


上一篇 下一篇