我有一个包含大量行的数据表,第一列是Int32
,我想执行一个简单的选择:
select * from MyDataTable where column1 = 234
答案 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");