sql 2000 分页

2023-11-04

 


create PROCEDURE [dbo].[Proc_GetPageList]

(
   @Tables varchar(1000),          --表名
   @PK varchar(100),               --主键   
   @Fields varchar(1000) = '*',    --查询的字段
   @SortField varchar(200) = NULL, --排序的字段
   @SortType varchar(10)= 'ASC',   --排序方式
   @PageIndex int = 1,             --页码索引
   @PageSize int = 10,            --页码大小
   @Filter varchar(1000) = NULL,   --过滤条件
   @PageCount int = 1 output,                  ----查询结果分页后的总页数
   @RecordCounts int = 1 output                ----查询到的记录数

)

AS

SET NOCOUNT ON

declare @FieldName nvarchar(50)

declare @SqlSort nvarchar(250)

declare @SqlCount nvarchar(2000)

declare @FromTemp nvarchar(1000)

declare @SqlResult nvarchar(4000)
declare @PageMinBound int 

declare @PageMaxBound int

--------首先生成排序方法---------

if @SortType='ASC'  --升序
   begin
      if not(@SortField is null)
     set @SqlSort = ' Order by ' + @SortField
      else
     set @SqlSort = ' Order by ' + @PK
   end

else            --降序
   begin
    if not(@SortField is null)
     set @SqlSort = ' Order by ' + @SortField + ' DESC' 
    else
     set @SqlSort = ' Order by ' + @PK + ' DESC '
   end

--------生成查询语句--------

if @Filter is null or @Filter='' --没有设置显示条件
    begin
    set @FromTemp = ' From ' + @Tables
    end

else
    begin
    set @FromTemp = ' From ' + @Tables + ' where ' + @Filter
    end

set @SqlCount= 'select @RecordCounts=Count(' + @PK + ') '+@FromTemp

----取得查询结果总数量-----
exec sp_executesql @SqlCount,N'@RecordCounts int out ',@RecordCounts out

--取得分页总数

if @RecordCounts<= @PageSize
set @PageCount = 1

else
set @PageCount = (@RecordCounts / @PageSize) + 1

if @PageIndex=1

begin  --第一页用TOP方法来获取当前页记录
  set @SqlResult='select top '+str(@PageSize)+' '+@Fields+' '+@FromTemp+' '+@SqlSort

end

else

begin --用临时表获取当前页计录
   set @PageMinBound=(@Pageindex-1)*@Pagesize
   set @PageMaxBound=@PageMinBound+@Pagesize
   create table #Pageindex (id int identity(1,1) not null,nid int)
   set rowcount @PageMaxBound
   set @SqlResult='insert into #Pageindex(nid) select '+@PK+' '+@FromTemp+' '+@SqlSort
   set @SqlResult=@SqlResult+'   select '+@Fields+' from '+@Tables+'  a,#Pageindex p
    where   a.'+@PK+'=p.nid and p.id>'+str(@PageMinBound)+' and p.id<='+str(@PageMaxBound)

end

print @SqlResult
exec sp_executesql @SqlResult

 


GO

转载于:https://www.cnblogs.com/DJYBlog/p/3848401.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql 2000 分页 的相关文章

  • 浏览器中输入url请求之后发生的事情?

    一 浏览器查找域名的IP地址 1 请求一旦发起 比如 www baidu com 浏览器第一件事就是 解析这个域名 浏览器先查看本地硬盘的hosts文件 看看其中有没有和这个域名对应的规则 如果有的话 就直接使用hosts文件里面的ip地址
  • Java Excel导出复杂excel表格样式之ExcelUtil工具类

    Java Excel导出包括普通导出及复杂表格样式 主要是对于需要进行行列合并的列进行特殊处理 计算清楚起始行 结束行 起始列 结束列 普通导出可以是所有列 也可以是包含某些列 或者排除某些列 1 效果图 2 原理 如对于上图中的覆盖能力
  • java 文件拷贝的四种方式

    1 java 移动文件的方式有几种 在 Java 中 可以使用多种方法来移动文件 使用 java nio file Files 类的 move 方法 import java nio file Files import java nio fi
  • 1. AJAX: 2. JSON

    内容 1 AJAX 2 JSON AJAX 1 概念 ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1 异步和同步 客户端和服务器端相互通信的基础上 客户端必须等待服务器端的响应 在
  • Android RecyclerView实现树形列表

    前段时间公司有个项目 需要展示客户关系的树形列表 当时网上找了一些资料 有些觉得挺复杂的 有些测试下来有bug 最终决定自己解决 最底下有demo 需要源码的同学可以下载 效果图 带节点的展开与收缩 并且可以实现项的单选 选中项字体为蓝色
  • Mac office 字体和字号显示问题

    Sierra英文的操作系统 word的没有常见的 宋体 等字体选项 而且字号的单位只有磅数 这时可以通过修改word默认的编辑语言解决 打开word的偏好设置 点击 East Asian Language 选择下拉菜单中的中文选项 重启之后
  • UPF learning4: supply power network 相关

    Supply network包含了下面3种元素 supply nets 电线 supply ports 插座 和power switch 开关 create supply port 创建一根电源 create supply net 创建一根
  • android 启动过程中如何清理cache,android 开发过程中涉及到的清除缓存操作

    标签 android 开发过程中会遇到很多缓存 常常使人摸不清楚 这里总结一下 希望下次遇到缓存相关问题能有所帮助 Clean Project 在这里插入图片描述 其中执行 clean 时会找到根项目和所有子项目的 clean task 所
  • 通过Maven命令创建Web项目

    1 创建Web项目 mvn archetype create DgroupId com demo 项目组标识 DartifactId omss 项目名称 DarchetypeArtifactId maven archetype webapp
  • 火爆全网的chat GPT 在煤矿智能问答方面的应用

    测试了19个煤矿智能化 综采方面的问题 甚至会自己写代码 看看chatGPT表现如何 什么是智能化煤矿 什么是记忆割煤 目前记忆割煤都存在哪些问题 煤矿数字孪生技术可以用哪些开源的应用来实现 智能化煤矿未来可以发展到什么程度 提供煤矿智能化
  • git仓库规范

    多人协作 项目名称 demo 我的名字 kk 1 前置概念 主目录 develop 开发目录 dev 主分支 develop demo 开发分支 dev demo kk 2 主目录 develop 该目录下可以有很多项目的分支 dev目录下
  • AI三大主义:符号主义、联结主义、行为主义

    一 符号主义 symbolicism 符号主义 symbolicism 逻辑主义 Logicism 心理学派 Psychlogism 计算机学派 Computerism 其原理主要为物理符号系统 即符号操作系统 假设和有限合理性原理 早期的
  • 【C#基础详解】(十四)面向对象 继承

    面向过程 优点 性能比面向对象高 因为类调用时需要实例化 开销比较大 比较消耗资源 比如单片机 嵌入式开发 Linux Unix等一般采用面向过程开发 性能是最重要的因素 缺点 没有面向对象易维护 易复用 易扩展 面向对象 面向对象的三个核
  • Zabbix安装时出现缺少PHP模块,解决过程

    我在安装时PHP缺少gettext模块和bcmath模块 一下为解决步骤 1 进入到PHP源码包目录下的ext目录 cd soft php 5 3 13 ext 2 会看到ext目录下有gettext目录和bcmath目录 3 进入gett
  • 对称二叉树

    这是蒟蒻认真写的第一篇题解 如有欠缺 请理解 题目描述 一棵有点权的有根树如果满足以下条件 则被轩轩称为对称二叉树 1 二叉树 2 将这棵树所有节点的左右子树交换 新树和原树对应位置的结构相同且点权相等 下图中节点内的数字为权值 节点外的
  • 下载google code中源码的几个工具

    Google code 一般以三种命令行方式提供源代码 格式如下 plain view plain copy hg clone https code google com p xxx git clone https code google
  • redis中批量删除key

    1 删除所有的key 可以使用redis自身的命令 flushdb 删除当前数据库中的所有Key flushall 删除所有数据库中的key 2 使用linux中的xargs来删除所有的key redis cli keys xargs re
  • 【R】【线性回归分析实验】

    文章目录 实验思维导图 1 收集 探索和准备数据 1 1 收集数据 1 2 探索和准备数据 2 基于数据训练模型 2 1 使用线性回归函数 2 2 建立模型 3 评估模型的性能 4 提高模型的性能 4 1 将年龄非线性化 4 2 数值转换二
  • 愉快地使用你的 Git Bash 工具

    在windows下使用git时自然会用到Git Bash 下面我分享一些Git Bash的使用技巧 欢迎补充 官方下载地址 http msysgit github io 设置初始路径 默认的 Git Bash 初始路径为安装目录 每次打开都
  • mvc三层架构

    三层架构是指 视图层View 业务逻辑层Service 持久层DAO View层 用于接收用户提交请求的代码 Service层 系统的业务逻辑主要在这里完成 DAO层 直接操作数据库的代码 主要是做数据持久层的工作 扩展 MVC指MVC模式

随机推荐

  • MySql 及MyBatis数据的批量操作

    1 Mybatis操作 1 批量更新
  • python hashlib_python import hashlib出现问题

    import hashlib时出现如下问题 gt gt gt import hashlib ERROR root code for hash md5 was not found Traceback most recent call last
  • ubuntu安装向日葵报错 处理时遇到错误:/var/cache/apt/archives/apport_2.20.1-0ubuntu2.4_all.deb

    执行安装命令 sudo dpkg i sunloginclient deb后 可能会报错 在处理时有错误发生 sunloginclient 此时执行 sudo apt get install f y 然后重新安装即可 但按以上方法操作后不一
  • RSA进阶之维纳攻击(wiener-attack )

    维纳攻击 场景 e很大 例题 第七届山东网络安全技能大赛 链接 https pan baidu com s 1IRInw3pB7SQfp3MxRJW17A 提取码 lcn3 e很大 妥了 维纳攻击 脚本在github上 https gith
  • 【完全开源】小安派-DSL 屏幕驱动开发板

    文章目录 概述 系统框图 2 8 3 5寸 屏电路 2 4寸触摸屏电路 1 28 寸圆形触摸屏电路 背光控制 关于Demo 1 28寸圆形屏智能手表Demo 2 4寸屏音乐播放器Demo 3 5寸屏天气站Demo 完全开源 概述 小安派 D
  • Altium Designer导入元器件3D封装

    一 前言 AD用了也有几年了 一开始只是单独用于制版 没有别的用途 随着工龄的增长 需求的内容也是越来越多 逐渐接触了3D模型建立 结构设计 有时需要导入PCB 3D效果 发现PCB导出的大多数只有芯片和电阻电容 很多开关 端子等特殊封装的
  • 前端开发利器: Bootstrap + AngularJS

    概述 在HTML5盛行的互联网时代 涌现诸多的前端html css js框架 基于其 适用范围 licence 发展前景等因素 本人对比总结出其中的两个佼佼者 分别是侧重页面美化展现的 Bootstrap 和侧重页面逻辑控制的 Angula
  • LeetCode题目笔记--2.两数相加

    这个博客系列记录我刷LeetCode过程中的一些循序渐进的思路和想法 希望能坚持下去 如果读者老爷觉得有帮助 就点个赞吧 题目描述 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序 的方式存储的 并且它们的每个
  • 数据导入hudi报错,错将字段写到hdfs路径上

    报错信息 Error trying to save partition metadata this is okay as long as atleast 1 of these succced file qiche hudi table 冬天
  • 2020无人用的邮箱和密码大全_Amazon后台登录密码错误!如何辨别账号是否被冻结?...

    啊你绝对不知道 这里每天都会更新一些跨境电商实时动态 卖家经验交流 跨境平台动态研究 曝光销售技巧 转化技巧 站外引流的方法 亚马逊后台登录密码错误 如何辨别账号是否被冻结 很多人一看到自己账号登录不进去就开始心慌 因为2018年就因为亚马
  • [QT编程系列-6]:C++图形用户界面编程,QT框架快速入门培训 - 3- QT窗体设计 - 自定义菜单栏

    目录 3 QT窗体设计 3 1 自定义菜单 3 1 1 设计目标 编辑 3 1 2 创建过程 编辑 3 QT窗体设计 3 1 自定义菜单 3 1 1 设计目标 3 1 2 创建过程 在Qt中 Windows窗口和Widget窗口是两种不同的
  • 如何用python加NLP打造自己的智能问答机器人

    一 基本流程 我们可以参照以下流程进行智能机器人的程序设计工作 1 利用已有的数据对 TfidfVectorizer 模型进行训练 2 利用训练好的TF IDF模型进行训练数据data0和真实数据data1的TFIDF值求解 3 通过余弦相
  • Spring Boot 3.x 构建系统&Starters

    系列文章目录 系列文章 Spring Boot 3 x 系列教程 文章目录 系列文章目录 前言 一 依赖管理 二 Maven 三 Spring Boot Maven Plugin 四 Starters 前言 Spring Boot 建议选择
  • c语言double类型的输入

    c语言double类型的输入 double输入用 lf 而不能用 f 今天在使用double类型输入时先用了 scanf lf a 结果以 f输出的时候都是0 以 g e输出似乎是最小的double值 12 3456789 0 000000
  • 软件产品设计

    figma软件介绍 Figma是一款在线协作式设计工具 用于 UI UX 设计和原型开发 它提供了一整套设计工具 包括向量绘图 页面布局和共享协作 支持多人协作 让用户可以在任何设备上创建 共享和讨论设计 知识点和技能 设计理论 理解UI设
  • Linux下xargs工具的使用

    xargs命令是给其他命令传递参数的一个过滤器 也是组合多个命令的一个工具 它能够将标准输入或管道中的数据转换为特定命令的命令行参数 也可以将单行或多行文本输入转换为其他格式的数据 比如单行变多行或者多行变单行 xargs的默认命令是ech
  • VS中的快捷键快速格式化代码,使好看,整齐

    在VC2005中 快捷键是Ctrl K Ctrl F 这是一个组合键 即先按Ctrl K 这时候编辑器会等待下一个按键动作 此时再按Ctrl F 即可以格式化代码了 当然 也可以在选项里面设置成使用VC6的快捷键 就可以继续使用Alt F8
  • 简述:面向对象的程序设计思想是什么?

    本博文源于C 基础 学到了类与对象这一章节 看见了课后有一个问题叫做 面向对象的程序设计思想是什么 我翻阅书籍 写下了这样一段话 就是警惕自己 如果未来被面试题面到 也能当做背诵个资料来看 下面开始简述那段话 文章目录 1 简述 面向对象的
  • PDM信号与PCM信号

    总结一下PDM信号与PCM信号 PDM PDM 脉冲密度调制 模拟信号的幅值使用输出脉冲对应区域的密度表示 PWM波是PDM波转换频率固定的一种特例 在实际输出的一位数据流中 只存在 1 和 0 1的密度越大 代表该区域对应的模拟信号幅值越
  • sql 2000 分页

    create PROCEDURE dbo Proc GetPageList Tables varchar 1000 表名 PK varchar 100 主键 Fields varchar 1000 查询的字段 SortField varch