您有没有办法在没有迭代的情况下从数据表中选择前5行?
答案 0 :(得分:15)
我想,您可以使用LINQ:
datatable.AsEnumerable().Take(5);
答案 1 :(得分:0)
使用以上两篇文章,以下内容适用于我:
foreach (DataRow _dr in DataSet.Tables[<tblname>].Select("", "Timestamp DESC").AsEnumerable().OfType<DataRow>().Take(5))
所以现在您可以根据需要进行过滤,如果需要,可以进行排序,然后只获取所需的记录数量,然后迭代它们,无论是1还是100。
希望能有所帮助。
答案 2 :(得分:0)
这对我有用:
datatable.Rows.Cast<System.Data.DataRow>().Take(5);
答案 3 :(得分:-2)
如果使用LINQ语句,则可以使用Take()
方法。
此post也可能有所帮助。
修改强>
当您使用VS2005时,请在数据表中使用SELECT()
方法,如下所示:
DataRow[] rows = datatable.Select('TOP 5');