超酷的通用分頁顯示控制 (二) 加入查詢控制

來源:互聯網
上載者:User
分頁|控制|顯示 在上一篇中,我們分析了一個簡單的通用分頁代碼控制。
但是通常我們在分頁的 ASP 頁面中要使用到查詢功能,那麼怎樣將查詢也“封裝”起來呢?
同樣需要用到 include 方式。

我們可以把查詢看作兩部分,
1、輸入,即接收使用者輸入的查詢字串,我們把它放在 query.inc 中
2、輸出,即根據使用者輸入的內容構造查詢條件,我們把它放在 query_result.inc 中

這樣一來,我們的思路就很清晰了,
1、將 query_result.inc 放在 SQL 陳述式之前,構造查詢條件,然後將查詢條件嵌入 SQL 陳述式中
2、將 query.inc 放在 ASP 頁面適當的地方(通常和 navigator.inc 在同一行)。


在接下來的文章中,要稍微複雜一點,因此我們先來看看一個示範的資料庫:mytest

表1            tbluserinfo                    ' 使用者資訊表

    欄位        flduserinfo_id                    ' 使用者識別碼
                flduserinfo_username
                flduserinfo_nickname
                flduserinfo_password

表2            tbladdressbook                ' 通訊錄表

    欄位        fldaddressbook_id
                fldaddressbook_classid            ' 類別 ID
                fldaddressbook_userid            ' 使用者識別碼
                fldaddressbook_nickname

表3            tbladdressbook_class        ' 通訊錄類別表

    欄位        fldaddressbook_class_id            ' 類別 ID
                fldaddressbook_class_title        ' 例如:朋友、客戶、親人、網友
                fldaddressbook_class_explain    ' 類別說明

視圖        vwaddressbook

    SELECT tbladdressbook_class.fldaddressbook_class_title,
          tbladdressbook_class.fldaddressbook_class_explain,
          tbladdressbook.fldaddressbook_id, tbladdressbook.fldaddressbook_userid,
          tbladdressbook.fldaddressbook_classid, tbladdressbook.fldaddressbook_nickname,
    FROM tbladdressbook INNER JOIN
          tbladdressbook_class ON
          tbladdressbook.fldaddressbook_classid = tbladdressbook_class.fldaddressbook_class_id

[注意:我在每個欄位中加上了表的名字,這是為了產生視圖方便,以及其他隱含的麻煩。經過我的長期嘗試,發現這種方法的確很好。因此向大家推薦這種命名方式。]

當我們在 tbladdressbook 中查詢時,要用 flduserid 來區分每個使用者的通訊錄內容,因此要加上 " flduserid=" & Session("userid") 的限制。現在我們把這個限制加到我們的 SQL 陳述式中。


請看 sample2.asp



<一> 需要分頁的 ASP 檔案

sample2.asp

<%
    ' 取得當前 ASP 頁面的完整路徑,重要技巧
    theScript    = Request.ServerVariables("SCRIPT_NAME")
    myconnstr    = "driver={SQL Server};server=yourserver;uid=sa;pwd=;database=mytest"
    thePageSize    = 20    ' 每頁顯示的記錄數

    '//////////////////////////////////////////////////////////
    '
    ' 定義表名
    '
    '//////////////////////////////////////////////////////////

    theTableName= "addressbook"

    '///////////////////////////



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。