如何实现SQLServer2000分页的存储过程?

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

创新互联建站-专业网站定制、快速模板网站建设、高性价比城中网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式城中网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖城中地区。费用合理售后完善,十多年实体公司更值得信赖。

 
 
 
  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 分页的存储过程的介绍,望你能有所收获。

网站题目:如何实现SQLServer2000分页的存储过程?
URL地址:http://www.hantingmc.com/qtweb/news46/14446.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联