CSDN博客

img bluesky_521

ASP分页技术源码

发表于2003/11/27 0:36:00  1868人阅读

<%''本程序文件名为: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--;
   document.MyForm.CurrentPage.onchange();
 }
 //点击"[下一页]"时响应:
 function PageNext()
 {
   document.MyForm.CurrentPage.selectedIndex++;
   document.MyForm.CurrentPage.onchange();        
 }
 //点击"[最后一页]"时响应:
 function PageLast()
 {  
   document.MyForm.CurrentPage.selectedIndex=document.MyForm.CurrentPage.length-1;
   document.MyForm.CurrentPage.onchange();
 }
 //选择"第?页"时响应:
 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>")  
   Next
   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
   Next
   
   Response.Write("</table>")

 END IF
%>
</BODY>
</HTML>
<%
 ''===程序在Win2000Server+IIS5.0+Oracle8.05下测试通过===
 ''===作者:夏春涛        E-mail:bluesky_521@yeah.net===
%>
0 0

相关博文

我的热门文章

img
取 消
img