如何实现SQL Server 2000 分页的存储过程?

数据库 SQL Server
我们今天主要和大家分享的是SQL Server 2000 分页的存储过程的实际操作流程,以及在实现其实际操作过程中我们应注意的事项的描述。

此文主要讲述的是SQL Server 2000 分页的存储过程,以及对实现SQL Server 2000 分页的存储过程的实际应用代码的描述,以下就是具体方案的描述,希望在你今后的学习中会有所帮助。

  1. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go  
  2. set ANSI_NULLS ON  
  3. set QUOTED_IDENTIFIER ON  
  4. go  
  5. /*  

利用SQL未公开的存储过程实现SQL Server 2000分页方法简单且效率高,已知的问题就是要多返回一个空的记录集解决的方法是在前台调用时,用

  1. set recordsetrecordset=recordset.nextrecordset 

的方法跳过***个记录集此方法由J9988提供,改成了方便调用的存储过程,邹建2004.05(引用请保留此信息),缺点是返回2张表,***张是空表,第二张才有数据调用示例

  1. declare @PageCount int  
  2. exec sp_PageView  
  3. @sql='select * from sysobjects',  
  4. @PageCurrent=2,  
  5. @PageCount=@PageCount out  
  6. SELECT @PageCount  
  7. */  
  8. Create PROC [dbo].[sp_PageView]  
  9. @sql ntext, 

要执行的sql语句

@PageCurrent int=1, 要显示的页码

@PageSize int=10, 每页的大小

@PageCount int OUTPUT 总页数

  1. AS  
  2. SET NOCOUNT ON  
  3. DECLARE @p1 int 

初始化SQL Server 2000分页游标

  1. EXEC sp_cursoropen  
  2. @cursor=@p1 OUTPUT,  
  3. @stmt=@sql,  
  4. @scrollopt=1,  
  5. @ccopt=1,  
  6. @rowcount=@PageCount OUTPUT 

 

计算总页数

  1. IF ISNULL(@PageSize,0)<1 
  2. SET @PageSize=10 
  3. SET @PageCount=(@PageCount+@PageSize-1)/@PageSize  
  4. IF ISNULL(@PageCurrent,0)<1 OR ISNULL(@PageCurrent,0)>@PageCount  
  5. SET @PageCurrent=1 
  6. ELSE  
  7. SET @PageCurrent=(@PageCurrent-1)*@PageSize+1 

 

显示指定页的数据

  1. EXEC sp_cursorfetch @p1,16,@PageCurrent,@PageSize 

c关闭SQL Server 2000分页游标

 

  1. EXEC sp_cursorclose @p1 

以上的相关内容就是对SQL Server 2000 分页的存储过程的介绍,望你能有所收获。

【编辑推荐】

  1. SQL Server 字符串在实际操作中的注意事项
  2. SQL Server 连接字符串的一些声明
  3. 链接SQL Server数据库中的字符串经验总结
  4. 链接SQL Server数据库中的字符串经验总结
  5. SQL Server数据库中可用格式字符串干什么?
责任编辑:佚名 来源: 博客园
相关推荐

2010-06-30 14:36:49

SQL Server

2011-03-24 13:38:47

SQL Server 存储分页

2011-03-28 10:46:36

sql server存储分页

2010-09-14 10:47:45

sql server存

2009-08-04 10:29:06

在C#中使用存储过程

2010-11-10 15:16:14

Sql Server分

2011-06-17 17:37:16

JavaSQL Server

2010-11-10 15:23:55

SQL SERVER

2010-09-14 10:36:23

sql server存

2010-09-03 15:08:03

SQLselect语句

2010-11-29 09:12:46

sybase分页存储过

2010-07-15 12:38:14

SQL Server存

2011-08-29 10:55:03

SQL Server分页存储过程优化效率分

2010-10-20 16:17:17

SQL Server角

2009-08-06 16:44:06

2010-07-22 16:13:53

2010-11-10 15:29:40

SQL SERVER

2010-11-10 13:03:15

SQL Server存

2011-08-09 10:21:55

SQL Server存储过程分页

2010-04-29 17:31:56

Oracle存储过程
点赞
收藏

51CTO技术栈公众号