求解ASPNETPAGER分页控件的存储过程的解释!

payp1016 2012-12-03 03:20:14
create procedure DEMO
(@pagesize int,
@pageindex int,
@docount bit)
as

if(@docount=1)
select count(*) from TEST
else
begin
with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY ID asc)AS Row, * from TEST O )
SELECT * FROM temptbl where Row between (@pageindex-1)*@pagesize+1 and (@pageindex-1)*@pagesize+@pagesize
end
从这个网页生成的不知道代码的含义。http://www.webdiyer.com/Controls/AspNetPager/SpGenerator 谢了!
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackie明 2012-12-05
  • 打赏
  • 举报
回复
不错的方法,学习一下
webdiyer 2012-12-04
  • 打赏
  • 举报
回复
很简单的,@pagesize 是每页显示的记录数,@pageindex 是当前页索引(从1开始),@docount 是是否计算记录总数,要注意的一点是最后的@doacount参数,如果设为true,那就只统计要分页的记录总数而不返回分页数据,如果设为false刚只返回分页数据,在AspNetPager的示例中有使用这种存储过程的例子可以参考一下:http://www.webdiyer.com/Controls/AspNetPager/Downloads
shelly 2012-12-04
  • 打赏
  • 举报
回复
这个是数据库分页啊,常用的分页方法之一。挺好的。
  • 打赏
  • 举报
回复
这个方法效率上挺好吧,扩充性不知道你的意思。
payp1016 2012-12-03
  • 打赏
  • 举报
回复
这个方法 扩充性怎 么样?方便吗?
  • 打赏
  • 举报
回复
这个ROW_NUMBER()是从SQL200几开始支持的?就是能找到记录的行数。下面就是控制找记录的行数在起始行数和结束行数之间的数据。起如行数和结束行数就是用page index ,page size这些来算的

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧