在c#datatable上执行select

时间:2009-03-19 15:57:58

标签: c# asp.net ado.net

我有一个包含大量行的数据表,第一列是Int32,我想执行一个简单的选择:

select * from MyDataTable where column1 = 234

3 个答案:

答案 0 :(得分:6)

尝试将结果作为行数组:

DataRow[] rows = myDataTable.Select("column1 = 234");

或者这是获取数据视图:

DataView myDataView = myDataTable.DefaultView;
myDataView.RowFilter = "column1 = 234";

答案 1 :(得分:2)

var result = from row in table.AsEnumerable()
             where row[0].Equals(42)
             select row;

或者

var result = table.AsEnumerable().Where(row => row[0].Equals(42));

答案 2 :(得分:1)

如果您正在讨论System.Data.DataTable,则可以使用datatable.Rows.Find通过primaryKey搜索行,或使用datatable.Select获取满足条件的行数组。

//通过DataTable的主键

datatable.Rows.Find(234);

//通过复合主键

datatable.Rows.Find(234, 1, 4);

//选择

datatable.Select("column1=234");

//复合选择

datatable.Select("column1=234 AND column2=1");