自己写的分页.请笑纳

if   exists ( select   *   from  guest_table)
drop   proc  pagerepeat
go


create   proc  pageRepeat
@tblname   varchar ( 255 ), 
@fldname   varchar ( 255 ), 
@pageSize   int ,
@pageIndex   int ,
@pageCounts   int  output,
@totalRecord   int  output
as
declare   @strSQL   nvarchar ( 4000 ), 
@totalCounts   int ,

@wqe   int ,
@sql   NVARCHAR ( 400 ),
@sql1    NVARCHAR ( 400 )




set   @sql   = N ' select @totalCounts=count(*) from  ' + @tblname

exec  sp_executesql  @sql ,N ' @totalcounts int output ' , @totalcounts  output



set   @pageCounts = ( @totalCounts / @pageSize )

set   @totalRecord = @totalCounts


if  ( @pageCounts + 1 ) >= @pageindex   and   @pageindex > 0

   
begin

   
if   @pageIndex   =   1

   
set   @strSQL = ' select top  ' + str ( @pageSize ) + '  * from  ' + @tblname + '  order by  ' + @fldname + '  desc '

   
else

   
set   @strSQL = ' select top  ' + str ( @pagesize ) + '  * from  ' + @tblname + '  where  ' + @fldname +
   
' <(select min( ' +   @fldname + ' ' + @tblname + '  from (select top  ' +
   
str (( @pageIndex - 1 ) * @pagesize ) +   @fldname +   '  from  ' + @tblname +   '  order by  ' + @fldname +   '  desc) as #temptab)order by  ' + @fldname + '  desc '



   
exec  sp_executesql  @strSQL

   
end

else

  
begin
   
    
print   ' 错误 '    

  
end





go


declare   @pagecounts   int , @totalCounts   int
exec  pagerepeat  '你的表名 ' , '排序字段 ' , 10 , 12 , @pagecounts  output, @totalCounts  output
select   @pagecounts , @totalCounts
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值