• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    一個分頁存儲過程

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 15次 | 進入軟件測試論壇討論

    領測軟件測試網 /*****聽以前的同事說asp頁面上的分頁太慢了(如果數據多了),
    就想了這么個笨辦法。有些地方還要考慮----比如select top 22 * from cat_list
    where T_id not in (select T_id from #change)是否有效率問題;數據不能重復等等
    不過靈活性挺好。希望各位高手再給幫忙改正;多謝chair3的幫助---這個存儲過程還可以在加入幾個變量,隨便大家改吧:)*****/


    CREATE proc page
    @pagenum int
    as
    SET NOCOUNT ON /*-----這一句很重要哦:)),不然它只會認 insert #change......這個數據集:))*/
    declare @sql nvarchar(500) --聲明動態sql執行語句
    declare @pagecount int --當前頁數

    --取得當前數據庫的記錄總數
    declare @row_num int
    begin
    select @row_num=count(*) from cat_list

    --創建臨時表,作為數據過濾
    create table #change (T_id int)

    --判斷當前頁數
    if @row_num>6 --大于頁面顯示記錄數,則分頁
    begin
    set @row_num=@pagenum*6

    if @row_num=6
    select top 6 * from cat_list
    else
    begin
    set @row_num=(@pagenum-1)*6
    set @pagecount=@row_num
    set @sql=N'insert #change (T_id) select top '+cast(@pagecount as char(100))+' T_id from cat_list where T_id not in (select T_id from #change)'
    exec sp_executesql @sql
    select top 6 * from cat_list where T_id not in (select T_id from #change)
    end
    end
    else --只現實全部的數據
    select * from cat_list
    end
    GO

    客戶端這樣調用:
    <!--#include file="conn.asp"-->
    <!--#include file="adovbs.inc"-->
    <% dim T_com
    dim T_rs'declare datamanage recordset

    dim parameters
    set T_com=server.createobject("adodb.command")
    T_com.ActiveConnection=conn
    T_com.CommandText="page"
    T_com.CommandType=adCmdStoredProc
    'T_com.Prepared=true
    set parameters=T_com.CreateParameter("@pagenum",adInteger,adParamInput)
    T_com.Parameters.Append parameters
    dim page
    page=request.QueryString("page")
    if page="" then
    page=1
    end if
    T_com("@pagenum")=page
    set T_rs=T_com.Execute

    do while not T_rs.eof
    response.Write T_rs("c_name")
    T_rs.movenext
    loop
    %>
    <a href="a.asp?page=<%=page+1%>">ddddd</a>


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>