惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
A
About on SuperTechFans
Vercel News
Vercel News
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
S
SegmentFault 最新的问题
V
Visual Studio Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
美团技术团队

博客园 - wngwz

单点登陆 - wngwz - 博客园 IP地址 - wngwz - 博客园 金额转换.小To大 - wngwz - 博客园 简,繁体转换工具. 弹出模态窗体,关闭后。重新绑定页面(这个仅仅是对粗心大意的纪录) - wngwz - 博客园 关于水晶报表的版本问题! 大年30祝大家, 不知道说还要GMail的油箱! 打印的一些知识! 求助!水晶报表! 解决把水晶报表下载到客户端过程中,出现下载整个页面(.aspx)或者直接载web页中打开word文件的问题! 收获!关于引用计数器! 把文件或图片存在数据库中! 水晶报表倒出! 关于(学习!Excel)的问题。 解决问题总结 水晶报表操作中遇到的问题 javascript 打印报表! javascript 学习
分页存储过程
wngwz · 2005-04-21 · via 博客园 - wngwz

今天修改原来代码中的DataGrid分页部分,顺便重新修搞了个存储过程(学习了csdn上的例子!)

 1/*
 2一个将数据分页的存储过程     
 3 */

 4 CREATE PROCEDURE Proc_Pagination
 5  @tb         varchar(50),             --表名
 6  @col        varchar(50),            --按该列来进行分页
 7  @coltype    int,                      -- @col 列的类型,0-数字类型,1-字符类型,2-日期时间类型
 8  @orderby    int,                      --排序,0-顺序,1-倒序
 9  @collist    varchar(800),          --要查询出的字段列表,*表示全部字段
10  @pagesize   int=10,               --每页记录数
11  @page       int=1,                   --指定页
12  @condition  varchar(800)        --查询条件
13AS
14
15DECLARE @sql nvarchar(4000)
16DECLARE @where1 varchar(800)
17DECLARE @where2 varchar(800)
18IF @condition is null or rtrim(@condition)=''
19 BEGIN    --没有查询条件
20   SET @where1=' WHERE '
21   SET @where2='  '
22 END
23ELSE
24 BEGIN    --有查询条件
25   SET @where1=' WHERE ('+@condition+') AND '  --本来有条件再加上此条件
26   SET @where2=' WHERE ('+@condition+''          --原本没有条件而加上此条件
27 END
28
29IF @orderby=0  --排列顺序 0 顺序 1 倒序
30  SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+
31           ' FROM '+@tb+@where1+@col+'>(SELECT MAX('+@col+''+
32           ' FROM (SELECT TOP '+CAST(@pagesize*(@page-1AS varchar)+' '+
33           @col+' FROM '+@tb+@where2+'ORDER BY '+@col+') t) ORDER BY '+@col
34ELSE     
35  SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+
36           ' FROM '+@tb+@where1+@col+'<(SELECT MIN('+@col+''+
37           ' FROM (SELECT TOP '+CAST(@pagesize*(@page-1AS varchar)+' '+
38           @col+' FROM '+@tb+@where2+'ORDER BY '+@col+' DESC) t) ORDER BY '+
39           @col+' DESC'
40IF @page=1--第一页
41  SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+' FROM '+@tb+
42    @where2+'ORDER BY '+@col+CASE @orderby WHEN 0 THEN '' ELSE ' DESC' END
43EXEC(@sql)
44GO
45
46