天天看點

ASP分頁技術源碼

<%''本程式檔案名為:Pages.asp%>

<%''包含ADO常量表檔案adovbs.inc,可從"\Program Files\Common Files\System\ADO"目錄下拷貝%>

<!--#Include File="adovbs.inc"-->

<%''*建立資料庫連接配接,這裡是Oracle8.05資料庫

 Set conn=Server.CreateObject("ADODB.Connection")  

 conn.Open "Provider=msdaora.1;Data Source=YourSrcName;User ID=YourUserID;Password=YourPassword;"  

 Set rs=Server.CreateObject("ADODB.Recordset")   ''建立Recordset對象

 rs.CursorLocation=adUseClient                   ''設定記錄集指針屬性

 ''*設定一頁内的記錄總數,可根據需要進行調整

 rs.PageSize=10                                    

 ''*設定查詢語句    

 StrSQL="Select ID,姓名,住址,電話 from 通訊錄 Order By ID"        

 rs.Open StrSQL,conn,adOpenStatic,adLockReadOnly,adCmdText

%>

<HTML>

<HEAD>

<title>分頁示例</title>

<script language=javascript>

 //點選"[第一頁]"時響應:

 function PageFirst()

 {

   document.MyForm.CurrentPage.selectedIndex=0;

   document.MyForm.CurrentPage.onchange();

 }

 //點選"[上一頁]"時響應:

 function PagePrior()

 {    

   document.MyForm.CurrentPage.selectedIndex--;

 //點選"[下一頁]"時響應:

 function PageNext()

   document.MyForm.CurrentPage.selectedIndex++;

   document.MyForm.CurrentPage.onchange();        

 //點選"[最後一頁]"時響應:

 function PageLast()

 {  

   document.MyForm.CurrentPage.selectedIndex=document.MyForm.CurrentPage.length-1;

 //選擇"第?頁"時響應:

 function PageCurrent()

 { //Pages.asp是本程式的檔案名

   document.MyForm.action='Pages.asp?Page='+(document.MyForm.CurrentPage.selectedIndex+1)

   document.MyForm.submit();

 }  

</Script>

</HEAD>

<BODY bgcolor="#ffffcc" link="#008000" vlink="#008000" alink="#FF0000"">

<%IF rs.Eof THEN

   Response.Write("<font size=2 color=#000080>[資料庫中沒有記錄!]</font>")

 ELSE  

   ''指定目前頁碼

   If Request("CurrentPage")="" Then

     rs.AbsolutePage=1

   Else

     rs.AbsolutePage=CLng(Request("CurrentPage"))

   End If  

   ''建立表單MyForm,方法為Get

   Response.Write("<form method=Get name=MyForm>")  

   Response.Write("<p align=center><font size=2 color=#008000>")

   ''設定翻頁超連結

   if rs.PageCount=1 then  

     Response.Write("[第一頁] [上一頁] [下一頁] [最後一頁] ")

   else

       if rs.AbsolutePage=1 then

         Response.Write("[第一頁] [上一頁] ")

         Response.Write("[<a href=javascript:PageNext()>下一頁</a>] ")

         Response.Write("[<a href=javascript:PageLast()>最後一頁</a>] ")

       else

           if rs.AbsolutePage=rs.PageCount then

             Response.Write("[<a href=javascript:PageFirst()>第一頁</a>] ")

             Response.Write("[<a href=javascript:PagePrior()>上一頁</a>] ")

             Response.Write("[下一頁] [最後一頁] ")

           else

               Response.Write("[<a href=javascript:PageFirst()>第一頁</a>] ")

               Response.Write("[<a href=javascript:PagePrior()>上一頁</a>] ")

               Response.Write("[<a href=javascript:PageNext()>下一頁</a>] ")

               Response.Write("[<a href=javascript:PageLast()>最後一頁</a>] ")

           end if

       end if

   end if

   ''建立下拉清單框,用于選擇浏覽頁碼

   Response.Write("第<select size=1 name=CurrentPage onchange=PageCurrent()>")    

   For i=1 to rs.PageCount

     if rs.AbsolutePage=i then

        Response.Write("<option selected>"&i&"</option>")  ''目前頁碼

     else

        Response.Write("<option>"&i&"</option>")

     end if  

   Next

   Response.Write("</select>頁/共"&rs.PageCount&"頁 共"&rs.RecordCount&"條記錄</font><p>")

   Response.Write("</form>")

   ''建立表格,用于顯示

   Response.Write("<table align=center cellspacing=1 cellpadding=1 border=1")    

   Response.Write(" bordercolor=#99CCFF bordercolordark=#b0e0e6 bordercolorlight=#000066>")

   Response.Write("<tr bgcolor=#ccccff bordercolor=#000066>")

   Set Columns=rs.Fields

   ''顯示表頭

   For i=0 to Columns.Count-1

     Response.Write("<td align=center width=200 height=13>")

     Response.Write("<font size=2><b>"&Columns(i).name&"</b></font></td>")  

   Response.Write("</tr>")

   ''顯示内容

   For i=1 to rs.PageSize

     Response.Write("<tr bgcolor=#99ccff bordercolor=#000066>")

     For j=0 to Columns.Count-1

       Response.Write("<td><font size=2>"&Columns(j)&"</font></td>")

     Next

     Response.Write("</tr>")

     rs.movenext

     if rs.EOF then exit for

   Response.Write("</table>")

 END IF

</BODY>

</HTML>

<%

 ''===程式在Win2000Server+IIS5.0+Oracle8.05下測試通過===

 ''===作者:夏春濤        E-mail:[email protected]===