遍历数据表中的特定列

时间:2013-01-21 08:21:21

标签: c# asp.net

我在asp.net和c#中工作。

我的应用程序中有一个数据表有一列。我想遍历那些列值并检查那些值是否有其他值。请告诉我如何做到这一点。我尝试使用foreach但它不起作用。

代码:

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

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

注意:

dt 是我的数据表,列代码。我想将代码列中的所有值与 pcode 进行比较

4 个答案:

答案 0 :(得分:2)

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

虽然您可能也想检查NULL:)

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您总是访问第一行:

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

dt是我的数据表,带有列代码。我想比较所有的值   使用pcode的列代码。

所以当我假设您想要将所有值与一个变量进行比较时,如果所有字段都等于此值,bool变量应为true,否则false

您可以使用Linq:

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

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

答案 3 :(得分: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 
        { }
    }
}