All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
在ASP.NET,Atlas中调用Web,Service—应用Cache减小服务器开销_[Asp.Net教程]
缓存技术及在Rainbow,Portal的应用_.net资料_编程技术
PEAR--HTML_QuickForm与Smarty,的结合应用_php资料_编程技术
ASP.NET中Cookie的使用介绍_[Asp.Net教程]
由浅入深完全掌握Ajax之Ajax 简介_[AJAX教程]
PHP实例:用PHP编写的网上调查投票系统_[PHP教程]
飘浮广告的显示脚本类(VBS,JS双版)_JavaScript技术_编程技术
ASP.NET2.0:使用GridView绑定XmlDocument对象_[Asp.Net教程]
C#闪烁问题解决方法_.net资料_编程技术
Visual,C#,2005快速入门之调用方法_[Asp.Net教程]
Reading number is top 10 pictures
Azusa Yamamoto2
毕姥爷事件,告诉你6条真理
Sora aoi in China3
Summer is most suitable for young people to travel in China3
Forced sex girl living abroad2
自己约的炮,含泪也要打完
移民小国也实惠2
I also want to live a June 1 children's day, dad
9.3阅兵全景图8-航空梯队
日本小萝莉2
Download software ranking
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
Desire a peach blossom
Boxer's Top ten classic battle10
The Bermuda triangle3
Sora aoi 120 minutes
Sora aoi - one of more PK
Kung fu panda - the secret of the teacher
功夫熊猫2(下集)
Unix video tutorial8
变速齿轮3.26
归海一刀 published in(发表于) 2014/2/1 0:24:26 Edit(编辑)
通用高效分页存储过程代码_[SQL,Server教程]

通用高效分页存储过程代码_[SQL,Server教程]

通用高效分页存储过程代码_[SQL Server教程]

-- 获取指定页的数据
CREATE PROCEDURE pagination
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列
@fldName varchar(255)='', -- 排序的字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@doCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
AS


declare @strSQL varchar(5000) -- 主语句
declare @strTmp varchar(110) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @doCount != 0
begin
if @strWhere !=''
set @strSQL = "select count(*) as Total from [" + @tblName + "] where "+@strWhere
else
set @strSQL = "select count(*) as Total from [" + @tblName + "]"
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况


else
begin
if @OrderType != 0
begin
set @strTmp = "<(select min"
set @strOrder = " order by [" + @fldName +"] desc"
--如果@OrderType不是0,就执行降序,这句很重要!
end


else
begin
set @strTmp = ">(select max"
set @strOrder = " order by [" + @fldName +"] asc"
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ " from [" + @tblName + "] where " + @strWhere + " " + @strOrder
else
set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ " from ["+ @tblName + "] "+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end


else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ " from ["
+ @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) +" "+@strGetFields+ " from ["
+ @tblName + "] where [" + @fldName + "]" + @strTmp + "(["
+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["
+ @fldName + "] from [" + @tblName + "] where " + @strWhere + " "
+ @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder
end
end
exec (@strSQL)
GO







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.