MS Sql Server 分页代码

想必大家也都有做过类似的。供初学者参考

这个是我的一个作业。使用存储过程写的分页。

       可以动态的查询指定的表和所要返回的列,以及你自定的查询条件,需要按那个列排序,怎么排序。解决最后一页不够数的问题。

 拿出来和大家分享。欢迎提建议。

以下是源代码:

Create proc GetPageRecord(
 @ColumnList VarChar(1000), --要显示的列的列表
 @TableName VarChar(50),    --表名
 @WhereStr VarChar(8000),   --查询条件
 @PageIndex int,            --显示第几页
 @PageSize int,             --每页显示几条记录
 @OrderColumn VarChar(50),  --按哪个列进行排序
 @OrderName VarChar(50))     --排序的方式:升序或降序
as
declare
 @SQLString nvarchar(200);--用于保存临时SQL语句
begin
 set @SQLString = N'Select * From (Select Top '+ STR(@PageIndex * @PageSize) +' '+@ColumnList+'
    From '+@TableName+' Order By '+@OrderColumn+' '+@OrderName+') As Tbl
  Where '+@WhereStr+' Not In
   (Select Top '+STR((@PageIndex-1) * @PageSize)+' '+@WhereStr+'
    From '+@TableName+' Order By '+@OrderColumn+' '+@OrderName+');'

 EXECUTE(@SQLString); 
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值