C#:从DataTable中检索前n条记录

3

我有一个包含2000条记录的DataTable

如何检索DataTable中的前100条记录?


你想对它做什么? - SLaks
哇,为什么这么多 SQL 的答案?大家还没喝咖啡吗? - D'Arcy Rittich
我正在使用2.0框架,而且我没有使用SQL Server。 - Gaby
@Gaby - 如果你没有使用SQL Server,那么你在使用什么?MySql、Oracle、DB2、Postgres还是其他的数据库系统? - Nick
嗯,我正在从SharePoint获取我的记录,但你无法查询前n条记录或进行任何限制。我只想从我的数据表中获取前100条记录,而不需要循环。 - Gaby
6个回答

11
如果它实现了 IEnumerable<T>
var first100 = table.Take(100);

如果所涉及的类型仅实现了IEnumerable,您可以使用Cast扩展方法:

var first100 = table.Cast<Foo>().Take(100);

我只是嫉妒,我自己也被困在 2.0 版本上 :-) - Rawling

0

这适用于DB2。

select * from table
fetch first 100 rows only;

0

为了将列表补充完整,这是 MS SQL 的语句:

Select top 5 * from MyTable2

还可以在这里找到一些使用 MS SQL 的其他方法 链接


0

使用2.0框架在C#中获取前n条记录的列表:

DataTable dt = new DataTable();
var myRows = new List<DataRow>();

//no sorting specified; take straight from the top.
for (int i = 0; i < 100; i++)
{
   myRows.Add(dt.Rows[i]);
}

0

而对于mysql: select * from table limit 100


0
你可以使用类似于this的东西,但将foreach循环限制在100条记录以内。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接