c# - 从 sql server 获取顶部(开始号,结束号)行

标签 c# asp.net sql sql-server sql-server-2008

我在我的 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/

相关文章:

SQL OVER (Partition by) - 处理空值

C# XML 序列化

c# - 如何使用 linq 做到这一点?

c# - Quartz 在真实服务器中不工作

Asp.net 如何使用 Paypal 电子邮件 ID 和密码在我的网站上获取 Paypal 帐户的交易历史记录

c# - 如何在不单击的情况下在 FileUpload Controller 中选择路径后显示图像

java - jOOQ 中是否有相当于 pluck() 的函数?

c# - 如何检查对象是否可为空?

c# - 如何通过 C# ASP.net 在 SQL Server 中的文本框中存储日期

php - 0 == * 计算结果为 true,0 === * 计算结果为 false