uniquery 配合 mssql 自带存储过程实现分页

--使用系统存储过程实现的通用分页存储过程
-- 此过程原作者,应该是:邹健老前辈
CREATE PROC sp_PageView
@sql         ntext,     --要执行的sql语句
@PageCurrent int=1,     --要显示的页码
@PageSize    int=10,    --每页的大小
@PageCount   int OUTPUT --总页数
AS
SET NOCOUNT ON
DECLARE @p1 int
--初始化分页游标
EXEC sp_cursoropen
    @cursor=@p1 OUTPUT,
    @stmt=@sql,
    @scrollopt=1,
    @ccopt=1,
    @rowcount=@PageCount OUTPUT

--计算总页数
IF ISNULL(@PageSize,0)<1
    SET @PageSize=10
SET @PageCount=(@PageCount+@PageSize-1)/@PageSize
IF ISNULL(@PageCurrent,0)<1 OR ISNULL(@PageCurrent,0)>@PageCount
    SET @PageCurrent=1
ELSE
    SET @PageCurrent=(@PageCurrent-1)*@PageSize+1

--显示指定页的数据
EXEC sp_cursorfetch @p1,16,@PageCurrent,@PageSize

--关闭分页游标
EXEC sp_cursorclose @p1
declare @I int
execute SP_PageVIew ‘SELECT * FROM Item‘,1,10,@I output
select @I

因为此分页过程返回三个数据集。
通过:
  UniQuery1.OpenNext;  分别取出自己要的数据。

  

时间: 2024-07-29 16:57:51

uniquery 配合 mssql 自带存储过程实现分页的相关文章

调用存储过程进行分页实例

我在这使用SQL server数据库和我已有的数据库中的表.表名: HKSJ_Main 1.创建存储过程 --该分页的原理 越过多少条,去多少条 create proc P_page --声明参数@size int , --一页取几条@pageindex int,--取第几页@total int out --返回总条数as beginselect top(@size)* from dbo.HKSJ_Main as B where B.ID not in ( select top((@pagein

bootstrap-分页导航(带页码的分页导航)

1.运行效果如图所示 2.实现代码如下 <!DOCTYPE html> <html> <head>     <meta charset="utf-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <title>分页导航(带页码的分页导航)</title>     <!-- 最新

关于SQL 系统自带存储过程的使用 (一)

关于SQL,一边恐惧一边前行,战战兢兢,如履薄冰. 1.那些Maggie教我的事 因为脚本老是倒不齐全,QA某次跟我要了三次脚本,于是乎求助公司DBA. 利用SQL server本身的查询,找出最近修改的存储过程. 1 SELECT NAME,modify_date FROM sys.all_objects ao 2 WHERE TYPE='P' AND ao.modify_date BETWEEN '2014-05-01' AND GETDATE() 3 ORDER BY ao.modify_

MyBatis之四:调用存储过程含分页、输入输出参数

在前面分别讲解了通过mybatis执行简单的增删改,多表联合查询,那么自然不能缺少存储过程调用,而且还带分页功能. 注意:表结构参见上篇讲解联合查询的表. 一.查询某班级以及该班级下面所有学生的记录 上面这个查询可以用sql语句表示为: select c.class_id,c.class_name,s.s_id,s.s_name from Class c left join ClassStudent cs on c.class_id = cs.class_id left join Student

java连接oracle数据库调用存储过程实现分页查询(emp为例)

第一步:建一个含游标类型的包 sql>create or replace package testPackage as type test_cursor is ref cursor;    --定义名为test_cursor 的游标 end testPackage; 第二步:编写分页的存储过程 sql>create or replace procedure fenYe( tableName in varchar2,--表名 pageSize in number,--每页显示的记录数 pageN

ExtJs3带条件的分页查询的实现

使用ExtJs的同志们一定知道GridPanel哈~神器一般,非常方便的显示表格类型的数据,例如神马用户列表.产品列表.销售单列表.XXXX列表等.从数据库中查询所需的数据,以列表的形式显示出来,我们理应想到对这种数据实现搜索. 搜索最简单的方法就是reload那个与GridPanel关联的store,将搜索结果存进去,但是最初实现的搜索都把原来GridPanel的那个分页功能给破坏掉了. 原因:        给store重新载入数据后,PagingToolbar不起作用了,因为ExtJs默认

带条件的分页

一.后台 ①分类的list .jsp中的流程控制改成JSTL实现 <script type ="text/javascript" src="script/jquery-1.7.2.js"></script> <script type ="text/javascript"> $ (function (){ $ (".del").click(function(){ var $td = $(thi

基于Jquery+Ajax+Json+存储过程 高效分页

1 CREATE PROCEDURE [dbo].[PAGINATION] 2 @FEILDS VARCHAR(1000),--要显示的字段 3 @PAGE_INDEX INT,--当前页码 4 @PAGE_SIZE INT,--页面大小 5 @ORDERTYPE BIT,--当为0时 则为 desc 当为1 时 asc 6 @ANDWHERE VARCHAR(1000)='',--where语句 不用加where 7 @ORDERFEILD VARCHAR(100), --排序的字段 8 @T

带条件的分页【重点】

二.前台 1.不带条件的查询 [1 ]实现Dao方法:getPageList ().getTotalItemNum () ◆在BookDao中写接口方法 /** * 获取在指定条件下的分页数据 * @param pageNo 不能使用pageCondition返回的pageNoStr.要使用经过Page对象纠正的 * @param pageSize * @param pageCondition * @return */ List<Book> getPageList (int pageNo, i