AspNetPager分页存储过程

Alter procedure adminquestion          //创建存储过程
(
@pagesize int,                               //分页大小
@pageindex int,                            //当前页数
@docount bit                                 //true:返回数据量填充分页控件,false:返回数据填充数据显示控件
)
as
set nocount on
if(@docount=1)                        //返回数据量填充分页控件
Select count(questionid) FROM question
else
begin
declare @indextable table(questionid int identity(1,1),nid int)        //定义虚拟表,包括int型的questonid字段初始值为1,自增1,已经int型的nid字段
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound                  //确定返回的数据量
insert into @indextable(nid) select questionid FROM question order by questionid desc          //定义虚拟表

select O.NodeName,0.Score,O.total,O.state ,O.questionid,O.ptime ,case when len(title)>30 then left(title,28)+'...'else title end as title  from question O,@indextable t where O.questionid=t.nid
and t.questionid>@PageLowerBound and t.questionid<=@PageUpperBound   order by t.questionid             //查找数据,返回给应用程序
end
set nocount off


文章来自: 网源
引用通告: 查看所有引用 | 我要引用此文章
Tags: 存储过程
相关日志:

评论: 0 | 引用: 0 | 查看次数: 8133
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 开启