用ASP实现分页的源码

2008-02-23 09:34:20来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

<%''本程序文件名为: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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何实现动态添加Html文档中Form项

下一篇:ASP程序发送信件的几种方法比较