儲存過程萬能分頁

原创 2007年09月24日 18:45:00

 

 


/**//****** 物件:  預存程序 dbo.Pro_A_CommGetRecordByPage    指令碼日期: 2007/8/1 上午 09:43:00 ******/

 


create     PROCEDURE  [dbo].[Pro_A_CommGetRecordByPage] 
@tblName varchar(255), -- 表名 
@talFldName varchar(500)='*',--表內部所有的欄位名
@fldName varchar(255), -- 主键字段名 
@PageSize int = 10-- 页尺寸 
@PageIndex nvarchar(10= '1'-- 页码 
@IsReCount bit = 0-- 返回记录总数, 非 0 值则返回 
@OrderType bit = 0-- 设置排序类型, 非 0 值则降序 
@strWhere varchar(1000= '' -- 查询条件 (注意: 不要加 where) 
AS 

declare @strSQL varchar(7000-- 主语句 
declare @strTmp varchar(1000-- 临时变量 
declare @strOrder varchar(400-- 排序类型 

if @OrderType != 0        --根據OrderType類型決定排序號的方式
begin               
set @strTmp = '<(select min' 
set @strOrder = ' order by [' + @fldName +'] desc' 
end 
else 
begin 
set @strTmp = '>(select max' 
set @strOrder = ' order by [' + @fldName +'] asc' 
end 


set @strSQL = 'select top ' + str(@PageSize+' '+@talFldName+ '  from ['              --根據where的條件是否為空添加條件 
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize+ ' [' 
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)' 
+ @strOrder 


if @strWhere != '' 
set @strSQL = 'select top ' + str(@PageSize+' '+@talFldName+ '  from ['                 
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize+ ' [' 
+ @fldName + '] from [' + @tblName + '] where 1=1  ' + @strWhere + ' ' 
+ @strOrder + ') as tblTmp) and 1=1 ' + @strWhere + ' ' + @strOrder 

if @PageIndex = 1 
begin 
set @strTmp ='' 
if @strWhere != '' 
set @strTmp = ' where 1=1  ' + @strWhere 

set @strSQL = 'select top ' + str(@PageSize+' '+@talFldName+ '  from [' 
+ @tblName + ']' + @strTmp + ' ' + @strOrder 
end 

exec (@strSQL

 

 

 


 

万能分页存储过程

  • 2017年11月23日 12:36
  • 1KB
  • 下载

万能分页存储过程(带第一页性能优化,任意条件查询,任意字段排序)

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO /* 分页排序存储过程 V1.0 */ create procedure [...
  • hunzi6
  • hunzi6
  • 2012年05月23日 10:15
  • 121

万能分页存储过程

  • 2008年07月10日 12:42
  • 1KB
  • 下载

,sql2005万能分页存储过程

  • 2011年09月24日 21:46
  • 5KB
  • 下载

万能的分页类

支持任意类型的分页样式

sql2005储存过程分页

  • 2009年06月25日 18:11
  • 2KB
  • 下载

储存过程分页

  • 2011年12月01日 19:22
  • 4KB
  • 下载

GridView万能分页代码

虽然GridView拥有自带分页功能,但很多时候总感觉它太简单了,不贴和实际,所以我们现在来修改一下,让它更使用。 在之间加入如下代码: ">首页 ">前页 ...

gridview 万能分页代码

实现如下图片的分页:第【】页,共【】页,首页,上一页,下一页,末页 跳到某页;图片在最下面;gv里面的模板PagerTemplate复制到你的gv对应位置,然后在   protected vo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:儲存過程萬能分頁
举报原因:
原因补充:

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