求高人指点此分页存储过程怎么样?

 

求高人指点此存储过程怎么样,这是我公司一个人写的,他走了好久了,问公司其他人都不会,只能上园子了,欢迎讨论

这个存储过程一共返回了3个datatable,第一个没用,第二个是返回的数据,第三个是总条数,

或者谁有好更好的,欢迎分享

--分页储存过程
create  PROC   [dbo].[up_page]
@sql                   ntext,           --要执行的sql语句 
@PageCurrent   int=1,           --要显示的页码 
@PageSize         int=10         --每页的大小 
--@PageCount       int   OUTPUT   --总页数 
AS 
SET   NOCOUNT   ON 
DECLARE   @p1   int
DECLARE   @PageCount int
--初始化分页游标 
EXEC   sp_cursoropen   
@cursor=@p1   OUTPUT, 
@stmt=@sql, 
@scrollopt=1, 
@ccopt=1, 
@rowcount=@PageCount   OUTPUT 
--计算总页数 
IF   ISNULL(@PageSize,0) <1   
SET   @PageSize=10 
select @PageCount
SET   @PageCount=(@PageCount+@PageSize-1)/@PageSize 
IF   ISNULL(@PageCurrent,0) <1   OR   ISNULL(@PageCurrent,0)> @PageCount 
SET   @PageCurrent=1 
ELSE 
SET   @PageCurrent=(@PageCurrent-1)*@PageSize+1 
--显示指定页的数据 
EXEC   sp_cursorfetch   @p1,16,@PageCurrent,@PageSize 
--关闭分页游标 
EXEC   sp_cursorclose   @p1

GO

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值