如何根据另一个DataTable列值更新数据表列值?
问题描述:
我有两个数据表如何根据另一个DataTable列值更新数据表列值?
DataTable dt1=new DataTable();
DataTable dt2=new DataTable();
我想更新取决于其他数据表列值的列的值之一。
如:
dt1
包含列[setFamilyno] ["HouseNo"] ["Surname"]
dt2
包含相同的列
我想更新的dt1 DataTable
[setFamilyno]
列。
- 如果
dt1["HouseNo"] ["Surname"]
等于dt2["HouseNo"] ["Surname"]
然后设置DT1 DataTable的值1的用于DT1表中的所有这样的匹配。而对于下一行从dt2["HouseNo"] ["Surname"]
等于dt1["HouseNo"] ["Surname"]
然后设置[setfamilyno]=2
所有这样的匹配值..
答
DataView view = new DataView(Datatble);
int viewcount = view.Count;
DataTable distinctValues = view.ToTable(true, "SurNameEnglish", "HouseNumber");
int distinctcount = distinctValues.Rows.Count;
int cnt = 1;
for (int j = 0; j < distinctcount; j++)
{
string surname = distinctValues.Rows[j]["SurNameEnglish"].ToString();
string Housenumber = distinctValues.Rows[j]["HouseNumber"].ToString();
for (int i = 0; i < viewcount; i++)
{
if (Datatble.Rows[i]["SurNameEnglish"].Equals(surname) && Datatble.Rows[i]["HouseNumber"].Equals(Housenumber))
{
Datatble.Rows[i]["Family"] = cnt;
Datatble.AcceptChanges();
}
}
cnt++;
}
}