查询数据表以获取第一列中具有特定值的行

时间:2012-11-13 16:45:54

标签: c# asp.net datatable

我目前正在使用下面的代码,我想知道是否可以根据条目值进行查询。目前它返回已定义的行数。

var q = sqlData.AsEnumerable().Take(2);

这个数据来自一个数据库,并被归入表中,但目前它只将数据库数据返回到数据表中,并允许我选择前两行,我想知道我是否可以查询数据表,以便我可以根据实际表本身的索引获取我需要的行(例如,在表中我找到五行并查询此信息)。

2 个答案:

答案 0 :(得分:2)

是的,你可以像普通的Enumerable集合一样查询它 -

假设您希望特定列名"Id"的所有行等于5,您可以像这样查询 -

sqlData.AsEnumerable().Where(data => data.Field<int>("Id") == 5);

这将返回列Id值为5的所有行。

您可以类似地查询其他数据类型,例如,您希望将Name设置为TestName的所有行设置为这样 -

sqlData.AsEnumerable().Where(data => data.Field<string>("Name") == "TestName");

答案 1 :(得分:0)

试试这个

var q = sqlData.AsEnumerable()
               .FindAll(data => data.Field<int>("Id") == 10 
                     && data.Field<string>("Name").Equals("SomeName"));

//查询将返回id = 10name = 'somename'

的数据记录