我在我的 asp.net 页面中使用 GridView ,我正在从 SQL Server 获取数据并放置在我的 GridView 中。
现在我的问题是,我正在使用分页并在 GridView 中每页放置 50 行。我想在启动时从数据库中获取前 50 行并绑定(bind)到 GridView ,当我单击下一页时,然后再次转到数据库并获取第二个前 50 行并绑定(bind)到 GV。这个过程必须继续,直到从数据库中获取最后一行。
你能告诉我如何写查询来实现这个吗??
最佳答案
通常您将有两个参数传递给此查询,@pageNum
和 @pageSize
,然后您可以这样做:
With ranked AS --- Or you can make it a view
(
SELECT ROW_NUMBER() OVER(ORDER BY OrderField) AS RowNum, *
FROM YourTableReference
)
SELECT * --Your fields here
FROM Ranked
WHERE RowNum BETWEEN ((@PageNum - 1) * @PageSize + 1)
AND (@PageNum * @PageSize)
ORDER BY SomeField
Live Demo
关于c# - 从 sql server 获取顶部(开始号,结束号)行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12403391/