婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > sqlserver 存儲過程分頁代碼第1/2頁

sqlserver 存儲過程分頁代碼第1/2頁

熱門標簽:申請400電話在哪辦理流程 外呼運營商線路收費 小e電話機器人 一個導航軟件能用幾個地圖標注點 鎮江網路外呼系統供應商 電銷外呼有錄音系統有哪些 臨沂智能電銷機器人加盟哪家好 百度地圖標注改顏色 貴州房產智能外呼系統供應商
復制代碼 代碼如下:

declare @TotalCount int
declare @TotalPageCount int
exec P_viewPage_A 'type1','*','id','','id asc',1,0,4,3,@TotalCount output,@TotalPageCount output

select * from type1


Create PROC P_viewPage_A
/*
nzperfect [no_mIss] 高效通用分頁存儲過程(雙向檢索) 2007.5.7 QQ:34813284
敬告:適用于單一主鍵或存在唯一值列的表或視圖
ps:Sql語句為8000字節,調用時請注意傳入參數及sql總長度不要超過指定范圍
*/
@TableName VARCHAR(200), --表名
@FieldList VARCHAR(2000), --顯示列名,如果是全部字段則為*
@PrimaryKey VARCHAR(100), --單一主鍵或唯一值鍵
@Where VARCHAR(2000), --查詢條件 不含'where'字符,如id>10 and len(userid)>9
@Order VARCHAR(1000), --排序 不含'order by'字符,如id asc,userid desc,必須指定asc或desc
--注意當@SortType=3時生效,記住一定要在最后加上主鍵,否則會讓你比較郁悶
@SortType INT, --排序規則 1:正序asc 2:倒序desc 3:多列排序方法
@RecorderCount INT, --記錄總數 0:會返回總記錄
@PageSize INT, --每頁輸出的記錄數
@PageIndex INT, --當前頁數
@TotalCount INT OUTPUT, --記返回總記錄
@TotalPageCount INT OUTPUT --返回總頁數
AS
SET NOCOUNT ON
IF ISNULL(@TotalCount,'') = '' SET @TotalCount = 0
SET @Order = RTRIM(LTRIM(@Order))
SET @PrimaryKey = RTRIM(LTRIM(@PrimaryKey))
SET @FieldList = REPLACE(RTRIM(LTRIM(@FieldList)),' ','')
WHILE CHARINDEX(', ',@Order) > 0 OR CHARINDEX(' ,',@Order) > 0
BEGIN
SET @Order = REPLACE(@Order,', ',',')
SET @Order = REPLACE(@Order,' ,',',')
END
IF ISNULL(@TableName,'') = '' OR ISNULL(@FieldList,'') = ''
OR ISNULL(@PrimaryKey,'') = ''
OR @SortType 1 OR @SortType >3
OR @RecorderCount 0 OR @PageSize 0 OR @PageIndex 0
BEGIN
PRINT('ERR_00')
RETURN
END
IF @SortType = 3
BEGIN
IF (UPPER(RIGHT(@Order,4))!=' ASC' AND UPPER(RIGHT(@Order,5))!=' DESC')
BEGIN PRINT('ERR_02') RETURN END
END
DECLARE @new_where1 VARCHAR(1000)
DECLARE @new_where2 VARCHAR(1000)
DECLARE @new_order1 VARCHAR(1000)
DECLARE @new_order2 VARCHAR(1000)
DECLARE @new_order3 VARCHAR(1000)
DECLARE @Sql VARCHAR(8000)
DECLARE @SqlCount NVARCHAR(4000)
IF ISNULL(@where,'') = ''
BEGIN
SET @new_where1 = ' '
SET @new_where2 = ' WHERE '
END
ELSE
BEGIN
SET @new_where1 = ' WHERE ' + @where
SET @new_where2 = ' WHERE ' + @where + ' AND '
END
IF ISNULL(@order,'') = '' OR @SortType = 1 OR @SortType = 2
BEGIN
IF @SortType = 1
BEGIN
SET @new_order1 = ' ORDER BY ' + @PrimaryKey + ' ASC'
SET @new_order2 = ' ORDER BY ' + @PrimaryKey + ' DESC'
END
IF @SortType = 2
BEGIN
SET @new_order1 = ' ORDER BY ' + @PrimaryKey + ' DESC'
SET @new_order2 = ' ORDER BY ' + @PrimaryKey + ' ASC'
END
END
ELSE
BEGIN
SET @new_order1 = ' ORDER BY ' + @Order
END
IF @SortType = 3 AND CHARINDEX(','+@PrimaryKey+' ',','+@Order)>0
BEGIN
SET @new_order1 = ' ORDER BY ' + @Order
SET @new_order2 = @Order + ','
SET @new_order2 = REPLACE(REPLACE(@new_order2,'ASC,','{ASC},'),'DESC,','{DESC},')
SET @new_order2 = REPLACE(REPLACE(@new_order2,'{ASC},','DESC,'),'{DESC},','ASC,')
SET @new_order2 = ' ORDER BY ' + SUBSTRING(@new_order2,1,LEN(@new_order2)-1)
IF @FieldList > '*'
BEGIN
SET @new_order3 = REPLACE(REPLACE(@Order + ',','ASC,',','),'DESC,',',')
SET @FieldList = ',' + @FieldList
WHILE CHARINDEX(',',@new_order3)>0
BEGIN
IF CHARINDEX(SUBSTRING(','+@new_order3,1,CHARINDEX(',',@new_order3)),','+@FieldList+',')>0
BEGIN
SET @FieldList =
@FieldList + ',' + SUBSTRING(@new_order3,1,CHARINDEX(',',@new_order3))
END
SET @new_order3 =
SUBSTRING(@new_order3,CHARINDEX(',',@new_order3)+1,LEN(@new_order3))
END
SET @FieldList = SUBSTRING(@FieldList,2,LEN(@FieldList))
END
END
SET @SqlCount = 'SELECT @TotalCount=COUNT(*),@TotalPageCount=CEILING((COUNT(*)+0.0)/'
+ CAST(@PageSize AS VARCHAR)+') FROM ' + @TableName + @new_where1
IF @RecorderCount = 0
BEGIN
EXEC SP_EXECUTESQL @SqlCount,N'@TotalCount INT OUTPUT,@TotalPageCount INT OUTPUT',
@TotalCount OUTPUT,@TotalPageCount OUTPUT
END
ELSE
BEGIN
SELECT @TotalCount = @RecorderCount
END
IF @PageIndex > CEILING((@TotalCount+0.0)/@PageSize)
BEGIN
SET @PageIndex = CEILING((@TotalCount+0.0)/@PageSize)
END
IF @PageIndex = 1 OR @PageIndex >= CEILING((@TotalCount+0.0)/@PageSize)
BEGIN
IF @PageIndex = 1 --返回第一頁數據
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM '
+ @TableName + @new_where1 + @new_order1
END
IF @PageIndex >= CEILING((@TotalCount+0.0)/@PageSize) --返回最后一頁數據
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ('
+ 'SELECT TOP ' + STR(ABS(@PageSize*@PageIndex-@TotalCount-@PageSize))
+ ' ' + @FieldList + ' FROM '
+ @TableName + @new_where1 + @new_order2 + ' ) AS TMP '
+ @new_order1
END
END
ELSE
BEGIN
IF @SortType = 1 --僅主鍵正序排序
BEGIN
IF @PageIndex = CEILING((@TotalCount+0.0)/@PageSize)/2 --正向檢索
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM '
+ @TableName + @new_where2 + @PrimaryKey + ' > '
+ '(SELECT MAX(' + @PrimaryKey + ') FROM (SELECT TOP '
+ STR(@PageSize*(@PageIndex-1)) + ' ' + @PrimaryKey
+ ' FROM ' + @TableName
+ @new_where1 + @new_order1 +' ) AS TMP) '+ @new_order1
END
ELSE --反向檢索
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ('
+ 'SELECT TOP ' + STR(@PageSize) + ' '
+ @FieldList + ' FROM '
+ @TableName + @new_where2 + @PrimaryKey + ' '
+ '(SELECT MIN(' + @PrimaryKey + ') FROM (SELECT TOP '
+ STR(@TotalCount-@PageSize*@PageIndex) + ' ' + @PrimaryKey
+ ' FROM ' + @TableName
+ @new_where1 + @new_order2 +' ) AS TMP) '+ @new_order2
+ ' ) AS TMP ' + @new_order1
END
END
IF @SortType = 2 --僅主鍵反序排序
BEGIN
IF @PageIndex = CEILING((@TotalCount+0.0)/@PageSize)/2 --正向檢索
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM '
+ @TableName + @new_where2 + @PrimaryKey + ' '
+ '(SELECT MIN(' + @PrimaryKey + ') FROM (SELECT TOP '
+ STR(@PageSize*(@PageIndex-1)) + ' ' + @PrimaryKey
+' FROM '+ @TableName
+ @new_where1 + @new_order1 + ') AS TMP) '+ @new_order1
END
ELSE --反向檢索
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ('
+ 'SELECT TOP ' + STR(@PageSize) + ' '
+ @FieldList + ' FROM '
+ @TableName + @new_where2 + @PrimaryKey + ' > '
+ '(SELECT MAX(' + @PrimaryKey + ') FROM (SELECT TOP '
+ STR(@TotalCount-@PageSize*@PageIndex) + ' ' + @PrimaryKey
+ ' FROM ' + @TableName
+ @new_where1 + @new_order2 +' ) AS TMP) '+ @new_order2
+ ' ) AS TMP ' + @new_order1
END
END
IF @SortType = 3 --多列排序,必須包含主鍵,且放置最后,否則不處理
BEGIN
IF CHARINDEX(',' + @PrimaryKey + ' ',',' + @Order) = 0
BEGIN PRINT('ERR_02') RETURN END
IF @PageIndex = CEILING((@TotalCount+0.0)/@PageSize)/2 --正向檢索
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ( '
+ 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ( '
+ ' SELECT TOP ' + STR(@PageSize*@PageIndex) + ' ' + @FieldList
+ ' FROM ' + @TableName + @new_where1 + @new_order1 + ' ) AS TMP '
+ @new_order2 + ' ) AS TMP ' + @new_order1
END
ELSE --反向檢索
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ( '
+ 'SELECT TOP ' + STR(@PageSize) + ' ' + @FieldList + ' FROM ( '
+ ' SELECT TOP ' + STR(@TotalCount-@PageSize *@PageIndex+@PageSize) + ' ' + @FieldList
+ ' FROM ' + @TableName + @new_where1 + @new_order2 + ' ) AS TMP '
+ @new_order1 + ' ) AS TMP ' + @new_order1
END
END
END
EXEC(@Sql)
GO

如何用vc#調用上面的存儲過程

12下一頁閱讀全文
您可能感興趣的文章:
  • 高效的SQLSERVER分頁查詢(推薦)
  • 真正高效的SQLSERVER分頁查詢(多種方案)
  • 分頁 SQLServer存儲過程
  • sqlserver分頁的兩種寫法分別介紹
  • sqlserver 通用分頁存儲過程
  • sqlserver 三種分頁方式性能比較[圖文]
  • 基于sqlserver的四種分頁方式總結
  • sqlserver分頁查詢處理方法小結
  • SQL server分頁的4種方法示例(很全面)

標簽:嘉興 延邊 日照 晉城 保定 澳門 三明 合肥

巨人網絡通訊聲明:本文標題《sqlserver 存儲過程分頁代碼第1/2頁》,本文關鍵詞  sqlserver,存儲,過程,分頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sqlserver 存儲過程分頁代碼第1/2頁》相關的同類信息!
  • 本頁收集關于sqlserver 存儲過程分頁代碼第1/2頁的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美午夜电影一区| 欧美三区在线观看| 色香蕉久久蜜桃| 精品国产99国产精品| 天天av天天翘天天综合网色鬼国产| 成人黄色软件下载| 中文字幕一区二区三区视频| 99天天综合性| 亚洲成人动漫一区| 精品国产乱子伦一区| 国产一区在线精品| 国产精品美女久久久久久久久久久| 成人在线综合网站| 亚洲一区二区三区中文字幕 | 欧美日韩精品是欧美日韩精品| 亚洲妇女屁股眼交7| 在线免费观看日韩欧美| 日韩中文字幕区一区有砖一区| 在线播放一区二区三区| 久久国产剧场电影| 综合激情网...| 欧美人妖巨大在线| 国产成人丝袜美腿| 香港成人在线视频| 国产精品无人区| 欧美三级电影网| 懂色av一区二区三区免费观看| 亚洲成人动漫av| 国产女人水真多18毛片18精品视频| 色婷婷久久久亚洲一区二区三区 | 一本色道久久加勒比精品 | 91一区一区三区| 亚洲动漫第一页| 中文字幕av在线一区二区三区| 欧美日韩精品一区二区| 成人黄色电影在线 | 亚洲成人一区二区在线观看| 精品国产91洋老外米糕| 欧美日精品一区视频| 国产成人自拍高清视频在线免费播放 | www.66久久| 激情丁香综合五月| 亚洲线精品一区二区三区| 国产日韩欧美精品在线| 日韩一区二区三区免费观看| 色猫猫国产区一区二在线视频| 国产又黄又大久久| 日韩极品在线观看| 亚洲图片一区二区| 亚洲你懂的在线视频| 欧美国产日韩精品免费观看| 精品国产一区二区亚洲人成毛片 | 国产精品女人毛片| www久久精品| 欧美成人性福生活免费看| 精品视频免费看| 在线观看日韩国产| 欧美制服丝袜第一页| 欧洲一区二区av| 欧美亚洲动漫另类| 欧美日韩欧美一区二区| 欧洲一区在线电影| 欧美日韩一区二区三区高清| 欧美性猛交xxxx乱大交退制版| 不卡一二三区首页| 99久久亚洲一区二区三区青草| 国产电影精品久久禁18| 国产黄人亚洲片| 国产成人啪免费观看软件| 国产精品一区二区无线| 成人小视频免费在线观看| 国产a久久麻豆| 91免费国产在线| 欧美中文字幕亚洲一区二区va在线 | 99视频精品免费视频| jizz一区二区| 日本大香伊一区二区三区| 欧美视频一区二区三区在线观看| 欧美三级电影在线观看| 欧美一级在线观看| 国产三级一区二区| 综合av第一页| 日韩国产欧美在线观看| 国产一区视频导航| 国产91精品免费| 色拍拍在线精品视频8848| 在线不卡a资源高清| 日韩欧美色综合| 亚洲欧洲成人精品av97| 一区二区视频在线看| 日本不卡高清视频| 成人在线视频一区二区| 欧美主播一区二区三区| 欧美大片国产精品| 亚洲视频一区二区免费在线观看| 午夜成人免费电影| 粉嫩蜜臀av国产精品网站| 欧美在线不卡一区| 久久久精品国产免费观看同学| 亚洲人妖av一区二区| 日本不卡123| 99re热这里只有精品视频| 欧美色综合天天久久综合精品| 2020国产精品| 亚洲国产另类av| 国产成人超碰人人澡人人澡| 欧美日韩免费观看一区二区三区| 久久久不卡影院| 日韩黄色免费电影| 不卡av免费在线观看| 欧美久久久影院| 亚洲男同1069视频| 国产成人精品免费看| 欧美老女人在线| 亚洲免费观看高清| 从欧美一区二区三区| 欧美一级在线免费| 首页亚洲欧美制服丝腿| 国产成人亚洲综合a∨猫咪| 欧美日韩的一区二区| 国产精品蜜臀在线观看| 狠狠色狠狠色综合| 欧美一区二区黄色| 亚洲一区二区综合| eeuss鲁一区二区三区| 亚洲精品在线观看网站| 午夜不卡av在线| 欧美午夜精品久久久久久孕妇| 欧美激情一区在线观看| 激情文学综合丁香| 7777精品伊人久久久大香线蕉超级流畅 | 91首页免费视频| 久久精品视频免费观看| 日本免费在线视频不卡一不卡二 | 欧美一级在线免费| 午夜精品一区二区三区电影天堂 | 中文av字幕一区| 国产精品综合视频| 国产欧美日韩不卡免费| 国产福利精品一区二区| 久久久美女艺术照精彩视频福利播放| 蜜桃视频在线一区| 日韩欧美黄色影院| 狠狠色伊人亚洲综合成人| 欧美精品一区二区三区很污很色的 | 2020国产精品| 国产一本一道久久香蕉| 久久久99久久| 国产**成人网毛片九色| 亚洲国产精品99久久久久久久久| 国产成人在线视频网址| 国产精品天干天干在观线| 91免费观看视频在线| 亚洲成在人线免费| 精品福利在线导航| 99re在线视频这里只有精品| 亚洲18女电影在线观看| 日韩欧美高清dvd碟片| 国产成人一级电影| 一区二区欧美精品| 久久天天做天天爱综合色| caoporn国产精品| 亚洲一卡二卡三卡四卡 | 国产欧美精品日韩区二区麻豆天美| 国产激情视频一区二区在线观看 | 91精品国产色综合久久久蜜香臀| 美国毛片一区二区三区| 中文字幕成人av| 7777精品久久久大香线蕉| 福利电影一区二区| 亚洲综合一区在线| 国产婷婷色一区二区三区| 在线看国产日韩| 国产成人亚洲精品狼色在线| 午夜久久电影网| 久久精品一区蜜桃臀影院| 欧美亚洲综合久久| 国产a久久麻豆| 蜜臀av一区二区| 亚洲综合图片区| 亚洲国产精品激情在线观看| 欧美欧美欧美欧美首页| 不卡的电影网站| 国产伦精品一区二区三区视频青涩| 一片黄亚洲嫩模| 国产精品久久久久久亚洲伦| 制服丝袜成人动漫| 欧美亚洲国产怡红院影院| 国产99久久久国产精品潘金 | 国产拍欧美日韩视频二区| 欧美视频一区二区三区四区| 国产馆精品极品| 男男视频亚洲欧美| 午夜日韩在线观看| 亚洲制服丝袜av| 亚洲精品国产第一综合99久久 | 久久久久久久久久久久久久久99 | 欧美日韩中文字幕精品| 91伊人久久大香线蕉| 成人av先锋影音|