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

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

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

  1. setANSI_NULLSONsetQUOTED_IDENTIFIERONgo
  2. setANSI_NULLSON
  3. setQUOTED_IDENTIFIERON
  4. go
  5. /*

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

  1. setrecordsetrecordset=recordset.nextrecordset

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

  1. declare@PageCountint
  2. execsp_PageView
  3. @sql='select*fromsysobjects',
  4. @PageCurrent=2,
  5. @PageCount=@PageCountout
  6. SELECT@PageCount
  7. */
  8. CreatePROC[dbo].[sp_PageView]
  9. @sqlntext,

要执行的SQL语句

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

@PageSize int=10, 每页的大小

@PageCount int OUTPUT 总页数

  1. AS
  2. SETNOCOUNTON
  3. DECLARE@p1int

初始化SQL Server 2000分页游标

  1. EXECsp_cursoropen
  2. @cursor=@p1OUTPUT,
  3. @stmt=@sql,
  4. @scrollopt=1,
  5. @ccopt=1,
  6. @rowcount=@PageCountOUTPUT

计算总页数

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

显示指定页的数据

  1. EXECsp_cursorfetch@p1,16,@PageCurrent,@PageSize

c关闭SQL Server 2000分页游标

  1. EXECsp_cursorclose@p1

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

【编辑推荐】

  1. SQL Server 字符串在实际操作中的注意事项
  2. SQL Server 连接字符串的一些声明
  3. 链接SQL Server数据库中的字符串经验总结
  4. 链接SQL Server数据库中的字符串经验总结
  5. SQL Server数据库中可用格式字符串干什么?
转载请说明出处
知优网 » 如何实现SQL Server 2000 分页的存储过程?

发表评论

您需要后才能发表评论