我想在datagrid视图的数据集中返回表的前5条记录。以下不起作用。
DataGridView.DataSource = DS.Tables("TABLENAME").Select("SELECT TOP 5")
有什么建议吗?
使用Visual Studio 2008 - VB.Net
答案 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”并将其插入数据表中。