zoukankan      html  css  js  c++  java
  • 一个ASP.NET分页的存储过程

    ALTER PROCEDURE pager
    (
     @pagesize int, --每页行数
     @pageindex int, --当前页码
     @type int
    )
    AS
     declare @total int --总行数
     declare @totalpage int --总页数
     select @total = count(*) from 主题表 where 类别 = @type--求知一类别的总主题数
     
     set @totalpage = (@total+@pagesize-1)/@pagesize;--总页数=(总主题数+每页行数-1)/每页行数
     if(@pageindex<=@totalpage)--如果当前页小于总页数
     begin
       declare @pagetable table(id int identity(1,1),pid int)--创建临时表
       insert into @pagetable(pid) 
       select id from 主题表 where 类别 = @type order by 发表时间 desc--将主题表中属于某类别的id字段根据发表时间存入临时表中
       declare @pagelower int --定义上限
       declare @pageupper int --定义下限
       set @pagelower = (@pageindex-1)*@pagesize+1;--比如每页行数为10,第一页从1-10,第二页从11-20
       set @pageupper = @pagelower+@pagesize;
      
       select * from 主题表 where id in
       (select pid from @pagetable
       where id>=@pagelower and id <@pageupper) order by 发表时间 desc
     end
     RETURN @totalpage;
  • 相关阅读:
    对我影响最大的三位老师
    自我介绍
    第二周作业
    2019第一次作业
    PTA编程总结3
    币值转换
    PTA编程总结2
    PTA编程总结1
    秋季学期学习总结
    人生路上对你影响最大的三位老师
  • 原文地址:https://www.cnblogs.com/fuchifeng/p/610039.html
Copyright © 2011-2022 走看看