欢迎光临
我们一直在努力

通用分页的存储过程函数-ASP教程,ASP应用

建站超值云服务器,限时71元/月

alter procedure pagination
(
 @tblname  varchar(255),   — 表名
 @strgetfields varchar(1000) = *, — 需要返回的列
 @fldname  varchar(255)=,  — 排序的字段名
 @pagesize  int = 10,    — 页尺寸
 @pageindex  int = 1,    — 页码
 @docount  bit = 0,    — 返回记录总数, 非 0 值则返回
 @ordertype  bit = 0,    — 设置排序类型, 非 0 值则降序
 @strwhere  varchar(1500) =   — 查询条件 (注意: 不要加 where)
)
as

 /* 定义变量 */
 declare @strsql   varchar(5000)       — 主语句
 declare @strtmp   varchar(110)        — 临时变量
 declare @strorder varchar(400)        — 排序类型

if @docount != 0
begin
    if @strwhere !=
     set @strsql = select count(*) as total from [ + @tblname + ] where +@strwhere
    else
     set @strsql = select count(*) as total from [ + @tblname + ]
end 
 –以上代码的意思是如果@docount传递过来的不是0,就执行总数统计。以下的所有代码都是@docount为0的情况
else
begin
 if @ordertype != 0 –如果@ordertype不是0,就执行降序,这句很重要!
 begin
  set @strtmp = <(select min
  set @strorder = order by [ + @fldname +] desc  
 end
 else
 begin
  set @strtmp = >(select max
  set @strorder = order by [ + @fldname +] asc
 end

 if @pageindex = 1
 begin
     if @strwhere !=   
      set @strsql = select top + str(@pagesize) + +@strgetfields+   from [ + @tblname + ] where + @strwhere + + @strorder
     else
       set @strsql = select top + str(@pagesize) + +@strgetfields+   from [+ @tblname + ] + @strorder
   –如果是第一页就执行以上代码,这样会加快执行速度
 end
 else
 begin
  –以下代码赋予了@strsql以真正执行的sql代码
  set @strsql = select top + str(@pagesize) + +@strgetfields+   from [+ @tblname + ] where [ + @fldname + ] + @strtmp + ([+ @fldname + ]) from (select top + str((@pageindex-1)*@pagesize) + [+ @fldname + ] from [ + @tblname + ] + @strorder + ) as tbltmp)+ @strorder
  
  if @strwhere !=
      set @strsql = select top + str(@pagesize) + +@strgetfields+   from [ + @tblname + ] where [ + @fldname + ] + @strtmp + ([ + @fldname + ]) from (select top + str((@pageindex-1)*@pagesize) + [ + @fldname + ] from [ + @tblname + ] where + @strwhere + + @strorder + ) as tbltmp) and + @strwhere + + @strorder
 end
end  

exec (@strsql)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 通用分页的存储过程函数-ASP教程,ASP应用
分享到: 更多 (0)

相关推荐

  • 暂无文章