一. 表 結 構 定 義:
---- 表 名:Product
---- 表 名:Product
---- 字 段 名: 產 品 編號:Product_Id
---- 產 品 名 稱:Product_Name
二. 功 能 描 述:
---- 用 戶 輸 入 產 品 號, 不 必 輸 入全 名. 采 用 模 糊 查 詢 的 方 法. 找 到 滿 足 條 件 的 紀 錄.
---- 用 戶 輸 入 產 品 號, 不 必 輸 入全 名. 采 用 模 糊 查 詢 的 方 法. 找 到 滿 足 條 件 的 紀 錄.
三. 程 序 腳 本
---- 整 個 程 序 有 三 個Asp 文 件( 省略Html 語 言 部 分)
---- 整 個 程 序 有 三 個Asp 文 件( 省略Html 語 言 部 分)
---- 1 用 戶 查 詢 資料 輸 入 表 單:Input.Asp
-----使用者輸入產品編號
< Form Method="Post" Action="/Cgi/Prod.Asp" >
< Input Type="Text" Name="Id" Size="20" >
< Input Type="Submit"
Value="Submit" Name="B1" >
< /Form >
2.分頁處理常式之一:Prod.Asp
----使用者提交表單Input.Asp後觸發
< %Cid=Trim(Request.Form("Id"))% >
< %Set Rlt = Createobject("Adodb.Recordset")% >
******建立Recordset對象
< %Sql="Select * From Product Where Product_Id Like '
"& Cid &"'+'%'" >
< %Rlt.Open Sql,"Uid=Ncgi;Pwd=Sql;Dsn=Tcgi",1% >
******執行Sql語句
< % If Rlt.Pagecount< 1 Then % >
< H2 >沒有紀錄< /H2 >
< A Href="Javascript:History.Back()" >
返回< /A >
< %Else% >
------------------- 北極星書庫||http://www.ebook007.com
*****以下顯示查詢資訊:顯示樣式:
*****共有XX頁XXX條紀錄 頁號:1 .2 .3. 4. 5.........
共有< %=Rlt.Pagecount% >頁
< %=Rlt.Recordcount% >條紀錄
頁號:< % For I=1 To Rlt.Pagecount% >
< %cid=rlt("product_id")
< AHref="Prodpage.Asp?Pcnt=< %=I% >&id=< %=cid% > >
< %=I% >.< /A >
< %Next % >
< /A >
< Hr >
< %Rlt.Pagesize=20% >
******以下顯示產品列表:顯示樣式:
******1.XXXX
******2.XXXX
****** ...........
< %Rlt.Absolutepage=1% >
< % For I=1 To Rlt.Pagesize% >
< % If Rlt.Eof Then
Exit For
End If% >
< Li >< %=I% >. < %=Trim(Rlt("Product_Name"))< /Li >
< %Rlt.Movenext
Next% >
< %Rlt.Close% >
3.分頁處理常式之二:Propage.Asp
----使用者選擇 (頁號:1 .2 .3. 4. 5.........)中某頁號後觸發
< %Cid=Trim(Request.querystring("Id"))% >
< %Rlt.Absolutepage=Request.Querystring("Pcnt")% >
******以上部分與Prod.Asp相同 *****
< % For I=1 To Rlt.Pagesize% >
< % If Rlt.Eof Then
Exit For
End If% >
< Li >< %=I% >. < %=Trim(Rlt("Product_Name"))< /Li >
< %Rlt.Movenext
Next% >
< %Rlt.Close% >
四。 補 充 說 明;
---- 你 可 以 讓 用 戶 設 置 每 頁 的長 度。 方 法 是 用Session 對 象 維 護 用 戶 信 息 接 受 用 戶 設 置信 息:
---- 你 可 以 讓 用 戶 設 置 每 頁 的長 度。 方 法 是 用Session 對 象 維 護 用 戶 信 息 接 受 用 戶 設 置信 息:
< %session("size")=request.form("size")% >
把Prod.asp中 < %Rlt.Pagesize=20% >一句用下列語句代替
< %if session("size")="" then
rlt.pagesize=20
else
rlt.pagesize=session("size")
end if% >
疑難解析
1.分頁功能的關鍵:
Pagesize Absolutepage屬性的應用
Pagesize: 每頁紀錄大小
Absolutepage:游標定位到那一頁.比如說有20條紀錄,分成兩頁,每頁十條
Absolutepage=1則從第一條紀錄開始。
Absolutepage=2則從第十一條紀錄開始。
2.< %Rlt.Open Sql,"Uid=Ncgi;Pwd=Sql;Dsn=Tcgi",1% >
Dsn:系統資料來源名,Uid:使用者名稱,Pwd:使用者密碼,1:游標類型
你必須在控制台-- >
32位Odbc中建立系統資料來源,記住是系統資料來源
而不是使用者資料來源
游標類型:0,是預設值,但如果你想實現分頁功能游標類型必須設為1
不然 Recordcount Pagesize Pagecount屬性都不能用.
3.request.form("id")和request.querystring("id")
的名字是id
request.querystring("id")指從URL中接受資料