2013-01-21 65 views
1

我在asp.net和c#中工作。遍历数据表中的特定列

我在我的应用程序中有一列数据表。我想迭代通过该列值,并检查这些值与其他value.please告诉我如何做到这一点。我尝试了与foreach但它不工作。

代码:

foreach (DataRow dr in dt.Rows) 
     { 
      int code = Convert.ToInt32(dt.Rows[0]["Code"]); 

      if (code == pcode) 
      { 
       //do something 
      } 
      else 
      { } 
     } 

注:

DT是我与列代码数据表。我想在列代码所有值与P码比较。

+0

您已经展示了一种方式,它出了什么问题,您实际需要什么? –

+0

其不工作.. – coder

+2

**从来没有**使用_“不工作”_在SO!而是试着用有意义的词来解释错误的行为,错误或异常。 –

回答

1
int code = Convert.ToInt32(dr["Code"]); 

虽然你可能要检查NULL也:)

1

在你的循环中,访问dr,而不是dt.Rows [0]。

0

你总是访问的第一行:

dt.Rows[0]["Code"] // use dr instead of dt.Rows[0] 

dt为我的数据表与列code.I要将 列代码中的所有值与pcode进行比较。

所以,我说的对,当我假设你想要的所有值与一个变量比较,如果所有领域的平等这个值,bool变量应该是true,否则false

可以使用的LINQ:

var allEqual = dt.AsEnumerable() 
       .All(r => r.Field<int>("Code") == pcode); 

Enumerable.All确定序列中的所有元素是否满足条件。

0
foreach (DataRow dr in dt.Rows) 
{ 
    object o = dr["Code"]; 
    if (o != DBNull.Value) // Check for null 
    { 
     int code = Convert.ToInt32(o); 

     if (code == pcode) 
     { 
      //do something 
     } 
     else 
     { } 
    } 
}