返回数据集中表的前5条记录

时间:2010-03-30 15:02:14

标签: vb.net select dataset

我想在datagrid视图的数据集中返回表的前5条记录。以下不起作用。

DataGridView.DataSource = DS.Tables("TABLENAME").Select("SELECT TOP 5")

有什么建议吗?

使用Visual Studio 2008 - VB.Net

4 个答案:

答案 0 :(得分:3)

如果已填充数据集,则可以使用LINQ从表中获取前5行。 (更有效的方法是在数据库处理此问题,但是。)

Dim rows = DS.Tables("Foo").Rows.Cast(Of DataRow)().Take(5)

答案 1 :(得分:1)

如何使用TOP子句。假设您使用的是SQL Server。

Select top 5 * from SomeTable

如果您使用MySQL,则存在限制clause

如果您使用的是Oracle查找ROWNUM

答案 2 :(得分:1)

如果您使用的是SQL Server 2005或更高版本,则可以使用ROW_NUMBER()函数对行进行编号,然后使用:

DS.Tables("TABLENAME").Select("row_number <= 5")

答案 3 :(得分:0)

选择不起作用,请查看syntax

您要做的是使用您的表创建一个视图,对其进行排序并获取前五行。

DataView view = DS.Tables[0];
view.Sort = "myColumn";
//Take first or last 5 rows.

或者当然只需使用“来自mytable的SELECT TOP 5 x”并将其插入数据表中。