-1

我有两个数据表

DataTable dt1=new DataTable();
DataTable dt2=new DataTable();

我想根据其他数据表列值更新列的值之一。

例如:

dt1包含列[setFamilyno] ["HouseNo"] ["Surname"]

dt2包含相同的列

我想[setFamilyno]更新dt1 DataTable.

  • 如果dt1["HouseNo"] ["Surname"]等于,dt2["HouseNo"] ["Surname"]则为 dt1 表中的所有此类匹配设置 dt1 DataTable 的值 1。对于下一行 fromdt2["HouseNo"] ["Surname"]等于然后为所有此类匹配dt1["HouseNo"] ["Surname"]设置值..[setfamilyno]=2
4

2 回答 2

0
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++;

                }

}
于 2012-04-04T10:54:55.913 回答
0

尝试使用ForeignKeyConstraint创建DataRelation。帮助将足以知道如何去做。

于 2012-04-04T06:38:41.377 回答