create proc sortpage(@currentpage int,@pagesize int,@totalrowcount int output) as declare @sql varchar(4000) set @totalrowcount=(select count * from guest); set @sql='select * from (select lid,lname,lsex row_number() over(order by lid) as rownum from guest) as t where t.rownum between '+ @pagesize*@(@currentpage-1) +' and ' + @pagesize*@currentpage + ' ' exec(@sql)我怎么感觉我写的有点问题呢
改成create proc sortpage(@currentpage int) as declare @sql varchar(4000) set @sql='select * from (select lid,lname,lsex,row_number() over(order by lid) as rownum from guest) as t where t.rownum between '+ 5*@(@currentpage-1) +' and ' + 5*@currentpage + ' ' exec(@sql)初始化的时候 exec sortpage 1 比如用户点了第二页 执行exec sortpage 2 依次搞。。
select top5 lid from guest where lid not in(selet top5 lid from guest)我是这种方法类似的方法进行取值的 后面的那个top数可以根据你选择的页数传参数进来进行组装
http://topic.csdn.net/u/20100414/22/021705b1-73ed-4b8d-ba24-e357827e2da9.html
create proc sortpage(@currentpage int,@pagesize int,@totalrowcount int output)
as
declare @sql varchar(4000)
set @totalrowcount=(select count * from guest);
set @sql='select * from (select lid,lname,lsex row_number() over(order by lid) as rownum from guest) as t where t.rownum between '+ @pagesize*@(@currentpage-1) +' and ' + @pagesize*@currentpage + ' '
exec(@sql)我怎么感觉我写的有点问题呢
as
declare @sql varchar(4000)
set @sql='select * from (select lid,lname,lsex,row_number() over(order by lid) as rownum from guest) as t where t.rownum between '+ 5*@(@currentpage-1) +' and ' + 5*@currentpage + ' '
exec(@sql)初始化的时候
exec sortpage 1
比如用户点了第二页 执行exec sortpage 2
依次搞。。
where lid not in(selet top5 lid from guest)我是这种方法类似的方法进行取值的 后面的那个top数可以根据你选择的页数传参数进来进行组装
希望可以帮到你