国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 休宁县| 永平县| 乌兰察布市| 乌鲁木齐县| 禄丰县| 松滋市| 万宁市| 宁津县| 青海省| 祁东县| 新民市| 铜山县| 东莞市| 永登县| 崇文区| 灌南县| 杭锦旗| 视频| 玛纳斯县| 清新县| 牡丹江市| 漳州市| 江城| 阳山县| 新宾| 潞城市| 普格县| 绥宁县| 双峰县| 翁牛特旗| 南安市| 珲春市| 晋宁县| 密山市| 竹山县| 政和县| 从江县| 鄂州市| 清涧县| 逊克县| 邵东县|