• <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-07-14來源:作者:點擊數: 標簽:
    /*****聽以前的同事說asp頁面上的分頁太慢了(如果數據多了), 就想了這么個笨辦法。有些地方還要考慮----比如select top 22 * from cat_list where T_id not in (select T_id from #change)是否有效率問題;數據不能重復等等 不過靈活性挺好。希望各位高手
    /*****聽以前的同事說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

    老湿亚洲永久精品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>