当前位置:  数据库>sqlserver

数据库分页存储过程代码

    来源: 互联网  发布时间:2014-09-05

    本文导语:  代码如下:/*  数据库分页存储过程,支持倒序和升序  参数说明:    @tablename:为搜索表名    @tablefield:为表的字段,约定为表的主键,    @where:为搜索表名,要显示所有记录请设为"1=1"    @orderby:为搜索结果排序,如...

代码如下:

/* 
数据库分页存储过程,支持倒序和升序 
参数说明: 
  @tablename:为搜索表名 
  @tablefield:为表的字段,约定为表的主键, 
  @where:为搜索表名,要显示所有记录请设为"1=1" 
  @orderby:为搜索结果排序,如order by id desc 
  @fieldlist:为字段列表,如userid, username 
  @curpage:当前页码 
  @page_record:每页记录条数 
  @Sort:排序标识(如果是倒序排,参数值为desc,为升序,参数值为asc,跟orderby参数是对应的) 
结果: 返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序 
*/ 
CREATE PROCEDURE proc_CommonPaging 

@tablename varchar(100), 
@tablefield varchar(20), 
@where varchar(5000), 
@orderby varchar(500), 
@fieldlist varchar(1000), 
@curpage int, 
@page_record int, 
@sort varchar(8) 

AS 

BEGIN 

  DECLARE @cmd varchar(8000) 
  DECLARE @uprecord int 
  DECLARE @Op varchar(2) -- 操作符 
  DECLARE @max_min varchar(4) -- 最大/最小计算 

  SET @op = '' 
            SET @max_min = 'MAX' 
      END 

  SET @uprecord=@curpage * @page_record 

  IF @curpage = 0 
      SET @cmd = 'SELECT TOP '+cast(@page_record AS NVARCHAR)+' '+@fieldlist+' FROM '+@tablename+' WHERE '+@where+' '+@orderby 
  ELSE 
    SET @cmd = 'SELECT TOP '+cast(@page_record AS NVARCHAR)+' '+@fieldlist+' FROM '+@tablename+' WHERE '+@where+' AND '+@tablefield+'  
    '+@op+' (SELECT '+@max_min+'('+@tablefield+')  FROM (SELECT TOP  '+cast(@uprecord AS NVARCHAR)+' '+@tablefield+' FROM '+@tablename+' WHERE  
    '+@where+' '+@orderby+') AS TmpTbl ) AND '+@where+' '+@orderby 

  SET @cmd = @cmd + '; SELECT COUNT(*) FROM '+@tablename+' WHERE '+@where 

  EXEC(@cmd) 
  PRINT(@cmd) 

END 
GO 

    
 
 

您可能感兴趣的文章:

  • 服务器存储快照和数据库快照详解
  • 数据库存储, 改用TXT文件存储
  • 数据库存储还是直接存储在硬盘上好?(来者有分)
  • 随机存储数据库 Aerospike
  • 分页存储过程(用存储过程实现数据库的分页代码)
  • 数据库存储引擎 InnoDB
  • 更改Mysql数据库存储位置的具体步骤
  • K/V存储数据库 TreapDB
  • 如何在access数据库中存储rtf文件。
  • linux如何用C调用数据库的存储过程
  • 分布式文档存储数据库 MongoDB
  • oracle数据库中查看系统存储过程的方法
  • 采用Jsp从数据库中取得数据,来生成XML文件,进行存储,应该如何做?
  • 为数据库生成某个字段充填随机数的存储过程
  • mysql 查询数据库中的存储过程与函数的语句
  • 从数据库取出一图片,存储为文件的问题。主要是IO难住了。
  • 对象序列化--存储数据库的方法 序列化后 不能使用
  • sqlserver 复制表 复制数据库存储过程的方法
  • 关键字: oracle,存储过程,数据库,查询,动态sql包,数组,参传,jdbc 1
  • 我只想存储客户名和ID号,需要用数据库吗?
  • 实现Oracle数据库的存储过程中拥有“role”权限
  • Linux下Oracle数据库优化的具体过程
  • 对数据库操作过程中的一个问题。
  • sql 判断数据库,表,存储过程等是否存在的代码
  • 如何调用数据库过程?(急,在线)
  • 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
  • 一次SQL调优数据库性能问题后的过程(300W)
  • 快速删除数据库表、视图、存储过程的sql语句
  • SQL Server中通过扩展存储过程实现数据库的远程备份与恢复
  • c语言调用mysql数据库存储过程
  • Oracle存储过程之数据库中获取数据实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 删除数据库中重复记录方法介绍及代码参考
  • unix下C++代码中如何进行数据库操作?给个完整代码学习学习
  • 怎样利用JAVABEAN将JSP页面提交的数据保存到数据库,请给代码好吗?谢谢!
  • 不用数据源,如何写数据库连接的代码?
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • 100分求救,谁有做好的关于JSP于数据库操作的源代码?
  • 要Linux下数据库连接的代码(c/c++)
  • MS SQL SERVER 数据库日志压缩方法与代码 iis7站长之家
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • jsp显示server数据库的内容,如何实现定时更新,给一段代码例子吧,谢谢
  • sql 查询所有数据库、表名、表字段的代码
  • 有谁给我个JSP留言班的源代码,数据库最好是ACCESS。(100分)
  • ?100分求jsp树的原代码 最好是jsp+js+xml 执行效率要高。(从数据库中动态生成的)(散分)
  • servler代码移植后,连接数据库报no suitable driver的错,请大家指点
  • 分析linxu下c++写的一个数据库的源代码。怎么下手? (百分求教)
  • MS SQL SERVER 数据库日志压缩方法与代码
  • 100分求jsp树的原代码 最好是jsp+js+xml 执行效率要高。(从数据库中动态生成的)在线
  • 大家谈一下,jsp哪种连接数据库的方式,效率会高一些?能有些代码就更好了,我要用,谢谢
  • 一段简单的数据库调用代码!请大虾帮忙看看!!
  • 求jsp树的原代码,一定要是jsp+js+xml 执行效率要高。(从数据库中动态生成的)
  • 有没有从数据库中读出一个图片的代码阿?
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 开发java下的数据库程序,用什么数据库引擎?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3