通用分頁存儲過程

原创 2005年05月26日 09:53:00

--saik友情提供 saikoyz@hotmail.com

/*
功能描述:對指定表中滿足條件的記錄按指定列進行分頁查詢
作    者:saiko
版    本:1.10
最后修改:2005-04-13           
調用例子:
 spoSplitPages'任何條件的SQL語句',2,10     -- 第2頁,每頁10行
EXEC spoSplitPages  '你的SQL語句','排序欄位',0 ,30, 1  -- 0: 最後一頁  30:每頁記錄數  1:降冪
*/
CREATE  procedure spoSplitPages
@SqlQuery nvarchar(4000),  --查詢字符串
@OrderFieldName  varchar(30),   --按該列為關鍵字來進行排序分頁
@CurrentPage int,  --第N頁 (如果是 0  則讀取 最后 一頁的記錄  )
@PageSize int,   --每頁行數
@OrderType    int          --排序, 0:順序,  1:  其它數字: 不進行排序 (只有此處的數字不為 0 為 1 的時候,外程序傳入的  OrderFieldName  才可以為空!)

as

DECLARE @sql nvarchar(4000), @tPageCount int

 IF @OrderType=0
   SET @sql= @SqlQuery + '  ORDER BY  '+@OrderFieldName

 IF @OrderType=1
   SET @sql =@SqlQuery + '  ORDER BY  '+@OrderFieldName + '  DESC '
    else
 SET @sql =@SqlQuery
BEGIN
      set nocount on
  declare @P1 int,--P1是游標的id
  @rowcount int
  --print  @sql
  exec sp_cursoropen @P1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
  SET  @tPageCount = ceiling(1.0*@rowcount/@PageSize)
  if @CurrentPage = 0
   set  @CurrentPage = @tPageCount  -- @PageIndex = 0 表示在調用時,是首次查詢,先讀取 最后 一頁的記錄 
  set @CurrentPage=(@CurrentPage-1)*@PageSize+1
  exec sp_cursorfetch @P1,16,@CurrentPage,@PageSize
  exec sp_cursorclose @P1

  select  @tPageCount as PagesCount ,@rowcount as RowsCount,@CurrentPage as CurrentPage 
     set nocount off
END
GO

sql server 通用分页存储过程

  • 2017年08月17日 14:10
  • 3KB
  • 下载

Linq To SQL通用分页存储过程二个,支持多表联合.

/// /// 数据库查询会话基类 /// public class DataContextBase : DataContext, IPagingDataContext ...

不使用存储过程的通用分页类

  • 2006年08月24日 11:11
  • 10KB
  • 下载

几款通用的sql分页存储过程

  • 2012年09月16日 10:17
  • 4KB
  • 下载

通用SQL分页存储过程

通用SQL分页存储过程  USE [DandelionDB] GO /****** 对象:  StoredProcedure [dbo].[sp_PageView] ...

通用分页存储过程

  • 2014年12月03日 11:27
  • 2KB
  • 下载

2分法-通用分页存储过程

  • 2010年09月26日 09:15
  • 10KB
  • 下载

Oracle通用分页存储过程的创建与使用

1.创建Oracle包的定义。使用 REF CURSOR 数据类型来处理 Oracle 结果集。REF CURSOR 是一个指向 PL/SQL 查询所返回的结果集的指针。与普通的游标不同,REF CU...

通用分页存储过程sql

  • 2008年10月07日 10:56
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通用分頁存儲過程
举报原因:
原因补充:

(最多只允许输入30个字)