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

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

  • <strong id="5koa6"></strong>
  • asp + oracle 分頁方法(不用存儲過程)

    發表于:2007-07-13來源:作者:點擊數: 標簽:
    asp 中查詢 oracle 數據庫 的分頁程序,沒有用存儲過程,效率還可以。 代碼如下: '''' 塞北的雪 分頁利器(oracle) 不用存儲過程 ------------------------- '其中注釋中有 ###的需要用戶設置 '其中注釋中有 參數傳遞 ** 的 說明要通過參數 傳遞。 '定義變量

    asp 中查詢 oracle數據庫 的分頁程序,沒有用存儲過程,效率還可以。

    代碼如下:

    ''''  塞北的雪  分頁利器(oracle)  不用存儲過程   -------------------------

    '其中注釋中有 ###的需要用戶設置
    '其中注釋中有 參數傳遞 ** 的 說明要通過參數 傳遞。


    '定義變量
    dim tOption                  '查詢條件
    dim tOrder                   '排序字符串     
    dim tOrderField              '排序字段        可通過參數獲得:order_field
    dim tOrderDirection          '排序方向        可通過參數獲得:order_direction

    dim tPageSize                '頁大小
    dim tTotalCount              '總記錄數        可通過參數獲得:t_count
    dim tPageCount               '頁數
    dim tCurPage                 '當前頁號        可通過參數獲得:page

    dim tTableName               '表或者視圖名

    dim tFieldList               '查詢的字段列表
    dim tPageField               '用于分頁的字段

    dim r_count                  '查得的記錄數


    set rs=server.createobject("adodb.recordset")        '記錄集對象

    '排序處理
    tOrderField=Request("order_field")                   '獲得排序字段(參數傳遞 **)
    tOrderDirection=Request("order_dir")                 '獲得排序方向(參數傳遞 **)

    if(tOrderField="") then tOrderField="item_code"       ' ### 設置默認排序字段
    if(tOrderDirection="") then tOrderDirection="asc"     ' ### 設置默認排序方向

    tOrder=" order by " & tOrderField & " " & tOrderDirection & " "   '生成排序字符串


    '定義參數
    tPageSize=find_rs_count        ' ### 設置頁大小
    tTableName="view_select1"      ' ### 設置與查詢的表格或視圖
    tFieldList=" * "               ' ### 欲查詢的字段列表
    tPageField="item_code"         ' ### 設置一個主鍵或唯一索引的字段 ,用于分頁計算


    '頁數處理
    tCurPage=Request("page")             '獲得當前頁(參數傳遞 **)
    tTotalCount=Request("t_count")       '獲得總頁數(參數傳遞 **)

    if(tCurPage="") then tCurPage=1
    if(cint(tCurPage)=0) then tCurPage=1
    if(tPageCount="") then tPageCount =1
    if(cint(tPageCount)=0) then tPageCount=1

    ' 構造查詢條件,根據具體的程序,肯定不一樣。但是最后的條件必須是“ where ??? ”
    tOption=" issue_flag='Y'"                      ' ### 設置條件
    if f_c<>"" then tOPtion= tOPtion & f_c         ' ### 設置條件

    if trim(tOption)="" then
         tOption = " where 1=1 "   '如果沒有條件,就自己加一個。
    else
         tOption= " where " & tOPtion
    end if

       
      
         '構造查詢字符串,這個分頁程序的核心,此查詢串是我們只下載當前頁所需的記錄
     
    sss="select * from (select rownum r_n,temptable.* from (select  " & tFieldList & " from " & tTableName & " " & tOption & " " & tOrder & ") temptable ) where r_n between " & cstr((tCurPage -1) * tPageSize +1) & " and " & cstr(tCurPage * tPageSize)  
     
     '執行主查詢,獲得相應記錄集
     Call ConnDataBase()                     '  ### 建立數據庫連接
        rs.cursorlocation=3
        rs.open conStr,conn,3,1                 '執行查詢
        r_count= rs.recordcount


       '當還沒有查詢過總記錄數時 并且 總的記錄數超過了頁大小時 ,查詢當前條件下的總的記錄數
       if(r_count>=tPageSize or tCurPage>1) and tTotalCount=0 then
          set rr=conn.execute("select count(*) from " & tTableName & " " & tOption)
          tTotalCount=rr(0)
          rr.close()
          set rr=nothing
       end if   
       if(cint(tTotalCount)=0) then tTotalCount=r_count '如果總記錄為0,將當前差得的記錄集的記錄數設置為總記錄數,說明當前的總記錄數小于頁大小
      
       '利用頁大小和總記錄數 計算頁數
       if(cint(tTotalCount)>cint(tPageSize)) then
      tPageCount=cint((cint(tTotalCount) \ cint(tPageSize)))
      if(cint(tTotalCount) mod cint(tPageSize))>0 then
          tPageCount =tPageCount +1
      end if
       end if
     
       tCurPage=cint(tCurPage)
       tPageCount=cint(tPageCount)


    '  ---------------------------------------------------------------------

            這就是全部代碼,感興趣的朋友,可以研究一下,或者將他封裝起來,加上分頁導航等方法??傊?,希望此代碼能對大家有用。

      

    原文轉自: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>