如何检查datarow中存在的特定列?

时间:2013-11-28 05:48:59

标签: asp.net

我遇到过这样的情况,其中datatable的列名是动态的。在获取数据时我想检查是否存在列。

DataTable table = ds.Table["Sample1"]

if(table.Row.Count > 0)
{
foreach(DataRow dr in table.Rows )
{
    if(dr.Table.Column.Contain("DateInfo"))
    {
        // store value in variable
        // first approach
    }

    if(table.Column.Contain("DateInfo"))
    {
        // store value in variable
        // second approach
    }
}
}

哪种方法最好?

2 个答案:

答案 0 :(得分:2)

这还不够:

第一种方法:只需检查整个DataTable。

datatable.Columns.Contains("column")

第二种方法:将检查DataTable中的每一行集合

dr.Table.Columns.Contains("column")

第三种方法:获取DataColumnCollection对象中的每一列,然后检查它是否包含特定字段。

DataColumnCollection columns = datatable.Columns;

if (columns.Contains(columnName))

所以这些方法都以自己的方式更好。你可以使用你发现的更好的东西。

答案 1 :(得分:0)

这是最好的一个

dr.Table.Column.Contain("DateInfo")

foreach循环有时一次获得单行,如果此方法中有任何条件