| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 551 人关注过本帖
标题:[分享]热贴_存储过程分页
取消只看楼主 加入收藏
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[分享]热贴_存储过程分页

--以下利用PUBS库下的JOBS表进行测试
use pubs
go
select * from jobs
go

create proc proc_page
(
@PageSize int=10,--一页分几条
@CurPage int=1,--多少页
@tab varchar(22)='titles'
)
as

declare @tempA varchar(10)
declare @tempB varchar(10)
declare @tempC varchar(40)
set @tempA = Convert(varchar(10), @PageSize)
set @tempB = Convert(varchar(10),@PageSize*(@CurPage-1))
set @tempC = Convert(varchar(40),@tab)
--select @count=count(*) from @tempC where @field=@field2
--set @count = 3
exec('select top '+@tempA+' * from '+@tempC+' where job_id not in ( select top '+@tempB+' job_id from '+@tempC+') ')
go
exec proc_page 2,5,'jobs'

--以后分页只需要调用此存储过程即可...在JSP里/SERVLET里如何调用存储过程,请参见相关例子.

搜索更多相关主题的帖子: 分享 
2006-08-26 18:30
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
不知大家发现它的好处没有,好东西就不要让它埋没了,这是一个用来进行分页查询的存储过程,它的好处就是可以用在任何表上,只要改下数据库名和表名(少说一句,列名),可以查询任何一页的第某几条数据.

[此贴子已经被作者于2006-8-30 23:58:51编辑过]



好累
2006-08-30 18:05
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 

晕哦,job_id是表jobs的列名,当然错误了.


除非你的表中也有job_id这列

[此贴子已经被作者于2006-8-30 23:59:56编辑过]


好累
2006-08-30 23:58
快速回复:[分享]热贴_存储过程分页
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023291 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved