2012-04-04 95 views
-1

我有两个数据表如何根据另一个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所有这样的匹配值..

回答

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

       } 

}