好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 以前寫的一個分頁存儲過程,剛才不小心翻出來的

以前寫的一個分頁存儲過程,剛才不小心翻出來的

熱門標簽:土地證宗地圖標注符號 vue 地圖標注拖拽 自動外呼系統怎么防止封卡 客服外呼系統呼叫中心 成都銷售外呼系統公司 電話機器人案例 保定電銷機器人軟件 鎮江云外呼系統怎么樣 電話機器人銷售公司嗎
CREATE PROCEDURE GoalerPageSp
@IntPageSize int,
@IntCurrPage int,
@strFields nvarchar(2000),
@strTable varchar(200),
@strWhere varchar(800),
@strOrderType varchar(200),
@strKeyField varchar(50)
AS
SET NOCOUNT ON
DECLARE @tmpSQL nvarchar(4000)--存放動態SQL語句
DECLARE @tmpWhere varchar(800)
DECLARE @tmpAndWhere varchar(800)--用于第N(>1)頁上邊的查詢條件
DECLARE @tmpOrder varchar(200)
DECLARE @tmpD_X varchar(2)
DECLARE @tmpMin_MAX varchar(3)

--設置條件--
IF @strWhere IS NULL OR RTRIM(@strWhere)=''
    BEGIN --沒有查詢條件
        SET @tmpWhere=''
        SET @tmpAndWhere=''
    END 
ELSE 
    BEGIN --有查詢條件
        SET @tmpWhere=' WHERE '+@strWhere
        SET @tmpAndWhere=' AND '+@strWhere
    END 

--設置排序--
IF @strOrderType != 0
    BEGIN--倒序 
        SET @tmpD_X = ''
        SET @tmpMin_MAX = 'MIN'
        SET @tmpOrder=' ORDER BY ' +@strKeyField+ ' DESC'
    END 
ELSE 
    BEGIN 
        SET @tmpD_X = '>'
        SET @tmpMin_MAX = 'MAX'
        SET @tmpOrder=' ORDER BY ' +@strKeyField+ ' ASC'
    END 
--SQL查詢--
IF @IntCurrPage=1
    Set @tmpSQL='SELECT TOP '+CAST(@IntPageSize AS VARCHAR)+' '+@strFields+' FROM '+@strTable+' '+@tmpWhere+' '+@tmpOrder
ELSE
    SET @tmpSQL='SELECT TOP '+CAST(@IntPageSize AS VARCHAR)+' '+@strFields+' FROM '+@strTable+' WHERE ('+@strKeyField+' '+@tmpD_X+' (SELECT '+@tmpMin_MAX+'('+@strKeyField+') FROM (SELECT TOP '+CAST(@IntPageSize*(@IntCurrPage-1) AS VARCHAR)+' '+@strKeyField+' FROM '+@strTable+' '+@tmpWhere+' '+@tmpOrder+') AS T))'+@tmpAndWhere+' '+@tmpOrder
EXEC(@tmpSQL)
GO


調用方法:
IntPageSize=20
strTable=" [TableName] "    '數據表名稱
strFields=" Field1,Field2,Field3,Field4 "    '需要讀取的列名
strKeyField="Field1"    '主鍵:這里假設Field1為主鍵
strWhere=""    '條件:FieldA='b'
strOrderType=1    '排序方式:1為倒序,0為順序

CurrPage=Request.QueryString("Page")
IF(CurrPage>"" And Isnumeric(CurrPage))THEN
    CurrPage=CLNG(CurrPage)   
    IF(CurrPage1)THEN CurrPage=1                   
ELSE
    CurrPage=1
END IF

IF strWhere>"" THEN
    tmpWhere=" WHERE "strWhere
ELSE 
    tmpWhere=""
END IF

IF(SESSION("RecCount")>"")THEN
    IF(SESSION("strWhere")>strWhere)THEN
        RecCount=Conn.Execute("SELECT COUNT("strKeyField") FROM "strTabletmpWhere)(0)
        SESSION("RecCount")=RecCount
        SESSION("strWhere")=strWhere
    ELSE
        RecCount=SESSION("RecCount")
    END IF
ELSE
    RecCount=Conn.Execute("SELECT COUNT(*) FROM "strTabletmpWhere)(0)
    SESSION("RecCount")=RecCount
    SESSION("strWhere")=strWhere
END IF

IF(RecCount MOD IntPageSize >0)THEN
    IntPageCount=INT(RecCount/IntPageSize)+1
ELSE
    IntPageCount=RecCount/IntPageSize
END IF

SET Cmd=Server.CreateObject("Adodb.Command") 
Cmd.CommandType=4 
SET Cmd.ActiveConnection=Conn 
Cmd.CommandText="GoalerPageSp" 
Cmd.Parameters.Append Cmd.CreateParameter("@IntPageSize",4,1,4,IntPageSize)
Cmd.Parameters.Append Cmd.CreateParameter("@IntCurrPage",4,1,4,CurrPage)
Cmd.Parameters.Append Cmd.CreateParameter("@strFields",200,1,2000,strFields)
Cmd.Parameters.Append Cmd.CreateParameter("@strTable",200,1,200,strTable)
Cmd.Parameters.Append Cmd.CreateParameter("@strWhere",200,1,800,strWhere)
Cmd.Parameters.Append Cmd.CreateParameter("@strOrderType",4,1,4,strOrderType)
Cmd.Parameters.Append Cmd.CreateParameter("@strKeyField",200,1,50,strKeyField)
SET RS=Cmd.Execute()
IF RecCount1 THEN
    Response.Write("沒有記錄")
ELSE
    GetRecord=RS.GetRows(IntPageSize)
    For i=0 To Ubound(GetRecord,2)
        Response.Write(GetRecord(0,i),GetRecord(1,i),GetRecord(2,i))    '...輸出內容
    NEXT
    GetRecord=Null
END IF
SET RS=NOTHING


有用的朋友請自己慢慢調試吧,總記錄是用ASP來取的,存儲在SESSION里邊,如果每次都統計一次總記錄,將會非常費時,當然,如果你想在存儲過程里來取總記錄和總頁數然后返回也是可以的,下邊是代碼:
--獲取記錄總數--
SET @tmpSQL='SELECT @getRecordCounts=COUNT('+@strKeyField+') FROM '+@strTable+@tmpWhere
EXEC sp_executesql @tmpSQL,N'@getRecordCounts int output',@getRecordCounts OUTPUT

--獲取總頁數--
SET @tempFolatNumber=@getRecordCounts%@IntPageSize
IF @getRecordCounts=@IntPageSize
    SET @getPageCounts=1
ELSE
BEGIN
    IF @tempFolatNumber != 0
        SET @getPageCounts=(@getRecordCounts/@IntPageSize)+1
    ELSE
        SET @getPageCounts=(@getRecordCounts/@IntPageSize)
END


別忘了返回定義參數:
@getRecordCounts int output,--返回總記錄
@getPageCounts int output--返回總頁數

標簽:麗江 成都 重慶 天津 公主嶺 懷化 內江 臺灣

巨人網絡通訊聲明:本文標題《以前寫的一個分頁存儲過程,剛才不小心翻出來的》,本文關鍵詞  以前,寫的,一個,分頁,存儲,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《以前寫的一個分頁存儲過程,剛才不小心翻出來的》相關的同類信息!
  • 本頁收集關于以前寫的一個分頁存儲過程,剛才不小心翻出來的的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 临安市| 三人性free欧美护士| 武林美妇巨蟒的肉欲艳史小说| 亚洲欧美日韩综合在线丁香| 黄频网| 日韩一区二区三区免费视频| 嗯啊好大好深| 日韩精品乱子伦高无遮挡| 无码精品秘?人口一区二网站| 林熙蕾做爰猛烈叫床戏片段| 午夜精品视频在线看| 免费国产成人午夜私人影视| 日本色片视频| 又www又黄又爽啪啪网站| 男人tv天堂精品一区二区| 女生吃男生的鸡鸡| 打屁股免费视频网站| 秋霞A级毛片在线看| 东北少妇高内谢69XXXXX| 初尝人妻滑进去了莹莹视频| 做暖暖视频大全高清完整版| 港片最颜色程度10颗星的电影| 6996电视影片免费人数| 欧美三日本三级少妇在线| 97视97视频| 国产成人精品无码免费播放| 狠狠色婷婷久久一区二区三区性色| 欧美大尺度男同无删减电影| 女人露jiji秘?免费视频| 在线看黄漫| 成年h小黄漫画在线观看| 射菊吧| 麻豆aⅴ一区二区三区妖精视频| 国产高清美女一级毛片久久| 国产粉嫩白浆在线观看| 无码人区久久一区二区三区69| 黄圣依离婚真相曝光| 亚洲日韩色少妇无码播放明星| 摧残蹂躏校花惨叫小说h文| 免费精品视频一区二区三区 | 粉嫩小泬BBBB免费看|