Kri*_*ota 3 c# sql sql-server asp.net sql-server-2008
我在我的asp.net页面中使用网格视图,我从SQL Server获取数据并放入我的网格视图中.
现在我的问题是,我正在使用分页并在网格视图中每页放置50行.我想在启动时从数据库中获取前50行并绑定到网格视图,当我点击下一页时,再次转到数据库并获取第二个前50行并绑定到GV.并且这个过程一直持续到从数据库中取出最后一行.
你能告诉我如何写Query来实现这个吗?
通常,你会传递给该查询两个参数,@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
Run Code Online (Sandbox Code Playgroud)