正在更新数据表

本文关键字:数据表 更新 | 更新日期: 2023-09-27 18:20:58

我正在尝试更新作为数据集一部分的DataTable。我使用DataRow搜索表,然后将值传递到DataRow中以更新到DataSet,但这不起作用,有人能告诉我哪里出了问题吗?

foreach(DataRow drHierarchyTrueValueList in ds.Tables["HierarchyTypeValueList"].Rows)
{
  foreach(DataRow drHierarchyListToUpdate in ds.Tables["Hierarchy"].Rows)
  {
    if (drHierarchyListToUpdate["HierarchyParent"] == 
        drHierarchyTrueValueList["HierarchyValueDescription"] && 
        Convert.ToInt32(drHierarchyListToUpdate["HierarchyParentType"]) != 0)
      {
         drHierarchyListToUpdate["HierarchyParentValue"] = 
             Convert.ToInt32(drHierarchyTrueValueList["HierarchyTrueValue"]);
      }
  }
  ds.Tables["Hierarchy"].AcceptChanges();
}  

正在更新数据表

我把它改成这个,它起作用了:

foreach(DataRow drHierarchyListToUpdate in ds.Tables["Hierarchy"].Rows)
        {
            string HierarchyParent = drHierarchyListToUpdate["HierarchyParent"].ToString();
            string HierarchyValueDescription = drHierarchyTrueValueList["HierarchyValueDescription"].ToString();
            int HierarchyParentType = Convert.ToInt32(drHierarchyListToUpdate["HierarchyParentType"]);
            if (HierarchyParent == HierarchyValueDescription && HierarchyParentType != 0)
            {
                drHierarchyListToUpdate["HierarchyParentValue"] = Convert.ToInt32(drHierarchyTrueValueList["HierarchyTrueValue"]);
            }
            else if (HierarchyParent != HierarchyValueDescription && HierarchyParentType == 0)
            {
                drHierarchyListToUpdate["HierarchyParentValue"] = 0;
            }
        }
        ds.Tables["Hierarchy"].AcceptChanges();