2017-03-07 30 views
0

我是相当新的C#所以请多多包涵......C#数据集 - 从另一个数据表中填写一个DataRow与参数

我有2个表的数据集:

tables

我想要做的是更新Premises [PremNo]等于Cost [PremNo]的Cost表上的ID。

到目前为止,我有一个foreach通过所有的行去,并更新他们,我只是不知道如何指定我需要从

 foreach (DataRow row in ds.Tables[1].Rows) 
     { 
      foreach (DataColumn ID in ds.Tables[1].Columns) 
      { 
       row["ID"] = **12345**; 
      } 

     } 

我需要有人给我指出来更新方向为位。

ds.Tables [1]是成本,和ds.Tables [0]是处所

任何帮助,将不胜感激。

+1

的[内蒙古加入C#的DataTable的]可能的复制(http://stackoverflow.com/questions/665754/inner-join-of-datatables -in-c-sharp) – CDove

回答

0

试试这个..

var tblCost = ds.Tables[1]; 
var tblPremises = ds.Tables[0]; 
foreach (DataRow cost in tblCost.Rows) 
{ 
    var premRow = tblPremises.AsEnumerable().Where(row => row.Field<int>("PremNo") == cost.Field<int>("PremNo")).FirstOrDefault(); 
    if (premRow != null) 
     cost["ID"] = premRow.Field<int>("ID"); 
} 
+1

完美,谢谢。只需要更改Prem35的,因为其中一些值包含/ – Finnigan82

相关问题