国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

通用高效分頁(yè)存儲(chǔ)過程代碼

2024-07-21 02:12:09
字體:
供稿:網(wǎng)友
 

-- 獲取指定頁(yè)的數(shù)據(jù)
create procedure pagination
@tblname varchar(255), -- 表名
@strgetfields varchar(1000) = '*', -- 需要返回的列
@fldname varchar(255)='', -- 排序的字段名
@pagesize int = 10, -- 頁(yè)尺寸
@pageindex int = 1, -- 頁(yè)碼
@docount bit = 0, -- 返回記錄總數(shù), 非 0 值則返回
@ordertype bit = 0, -- 設(shè)置排序類型, 非 0 值則降序
@strwhere varchar(1500) = '' -- 查詢條件 (注意: 不要加 where)
as

declare @strsql varchar(5000) -- 主語(yǔ)句
declare @strtmp varchar(110) -- 臨時(shí)變量
declare @strorder varchar(400) -- 排序類型
if @docount != 0
begin
if @strwhere !=''
set @strsql = "select count(*) as total from [" + @tblname + "] where "[email protected]
else
set @strsql = "select count(*) as total from [" + @tblname + "]"
end
--以上代碼的意思是如果@docount傳遞過來的不是0,就執(zhí)行總數(shù)統(tǒng)計(jì)。以下的所有代碼都是@docount為0的情況

else
begin
if @ordertype != 0
begin
set @strtmp = "<(select min"
set @strorder = " order by [" + @fldname +"] desc"
--如果@ordertype不是0,就執(zhí)行降序,這句很重要!
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) +" "[email protected]+ " from [" + @tblname + "] where " + @strwhere + " " + @strorder
else
set @strsql = "select top " + str(@pagesize) +" "[email protected]+ " from ["+ @tblname + "] "+ @strorder
--如果是第一頁(yè)就執(zhí)行以上代碼,這樣會(huì)加快執(zhí)行速度
end

else
begin
--以下代碼賦予了@strsql以真正執(zhí)行的sql代碼
set @strsql = "select top " + str(@pagesize) +" "[email protected]+ " 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) +" "[email protected]+ " 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



收集最實(shí)用的網(wǎng)頁(yè)特效代碼!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 三明市| 哈密市| 宁河县| 和林格尔县| 佳木斯市| 华容县| 永年县| 白城市| 浠水县| 叶城县| 上饶县| 贡山| 海晏县| 临江市| 广州市| 象州县| 涿州市| 石林| 海丰县| 新丰县| 弥勒县| 夏津县| 来宾市| 桃园县| 息烽县| 简阳市| 海林市| 始兴县| 清涧县| 友谊县| 万盛区| 名山县| 延寿县| 咸阳市| 林西县| 昌吉市| 封开县| 利辛县| 武邑县| 泗阳县| 邯郸县|