<!-- 一段经典的分页程序 -->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE></TITLE>
<STYLE type="text/css">
BODY{FONT-SIZE:12px}
TH{FONT-SIZE:12px}
TD{FONT-SIZE:12px}
</STYLE>
<SCRIPT type="text/javascript" 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()
{
document.MyForm.action='Pages.asp?Page='+(document.MyForm.CurrentPage.selectedIndex+1);
document.MyForm.submit();
}
</SCRIPT>
</HEAD>
<BODY bgcolor="#ffffcc">
<%
'-------------------------------------------------------
'数据库结构说明:
'数据库类型: Access
'数据库文名: database.mdb
'表 名: book
'字 段:id 为自动编号
'其它字段可以任意创建...
'-------------------------------------------------------
'连接Access数据库
Set conn = Server.CreateObject("Adodb.Connection")
Set rs = Server.CreateObject("Adodb.Recordset")
cnpath = "Data Source = "& Server.MapPath("database.mdb")
conn.open "provider = microsoft.jet.oledb.4.0;" & cnpath
'设置每页显示10条记录数
rs.PageSize = 10
'执行SQL语句查询
SQLcmd = "Select * From book Order By id Desc"
rs.Open SQLcmd,conn,1,1
IF rs.Eof THEN
Response.Write("<Font size=2>数数据中没记录!</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>")
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 name=CurrentPage οnchange=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&"条记录")
Response.Write("</FORM>")
END IF
'创建表格,用于显示数据
Response.Write("<TABLE align=center cellspacing=0 cellpadding=0 border=1")
Response.Write(" bordercolor=#000000 style='border-collapse: collapse'>")
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=15>"&Columns(i).name&"</TD>")
NEXT
Response.Write("</TR>")
'显示表内容
FOR i=1 TO rs.PageSize
Response.Write("<TR bgcolor=#99cff>")
FOR j=0 TO Columns.Count-1
Response.Write("<TD>"&Columns(j)&"</TD>")
NEXT
Response.Write("</TR>")
'下一条记录
rs.MoveNext
IF rs.EOF THEN EXIT FOR
NEXT
Response.Write("</TABLE>")
%>
</BODY>
</HTML>