西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程数据库教程 → 数据查询分页的相关概念 分页的存储过程

数据查询分页的相关概念 分页的存储过程

相关软件相关文章发表评论 来源:本站整理时间:2011/2/14 21:17:14字体大小:A-A+

作者:佚名点击:65次评论:1次标签: 分页

  • 类型:滤镜插件大小:3.7M语言:英文 评分:5.0
  • 标签:
立即下载
 分页的相关概念:

1)当前页:即要显示或打开的那一页的页数

currPage


2)页面大小:即每页要显示数据的数量

如:每页都显示10条数据

pageSize


3)总数据:要显示的数据的总数,即要显示的结果集

totalSize


4)总页数:即显示总数据需要的页数

totalPage


它的计算公式为: (totalSize+pageSize-1)/pageSize

例如:

如要显示17条数据,每页显示5条,那么总页数: totalPage=(17+5-1)/5=4


5)计算当前页的第一条数据 计算公式:

(currPage-1)*pageSize+1

例如:
如要显示17 条数据,每页显示5条,那么第3页数据第一条数据是:

(3-1)*5+1=11


6)计算当前页的最后一条数据 计算公式:

(currPage-1)*pageSize+pageSize

例如:
如要显示17 条数据,每页显示5条,那么第3页数据最后一条数据是:

(3-1)*5+5=15



SQL SERVER 2005 实现分页的方式

--------------------------------------------------------------------------------
一:存储过程方式

if exists(select * from sysobjects where name='pro_pageData')

drop procedure pro_pageData

go

create procedure pro_pageData

@pageNum int

as

select *

from

(

select *, row_number() over (order by stuid) as rowno

from student

) as s

where rowno>=(@pageNum-1)*5+1 and rowno <= (@pageNum -1)*5+5;

go



exec pro_pageData 4

go



二:一般语句方式(预编译)

select *

from

(

select *, row_number() over (order by stuid) as rowno

from student

) as s

where rowno>=(?-1)*5+1 and rowno <= (?-1)*5+5;



三:按条件查询后再对结果进行分页

select *

from

(

select *, row_number() over (order by stuid) as rowno

from student

where 1=1 and stuName like '%罗%'

) as s

where rowno>=(1-1)*5+1 and rowno <= (1 -1)*5+5;


注意:第一个where 用来匹配查询条件;
第二个where 用来显示特定页数据;

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(1)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)