第一步、建立数据库连接(以Access为例)
<% set conn=server.createobject("adodb.connection") '建立数据库连接对象
conn.open("DRIVER=Driver do Microsoft Access(*.mdb);UID=admin;pwd=;dbq="&server.mappath("eg.mdb")) ‘打开数据库,如果数据库没有密码 可以省略。
%>
第二步、建立记录集
<%set rs=server.createobject("adodb.recordset") '建立记录集对象
sql="select * from table1" ’sql数据库查询语句
rs.open sql,conn,1,1 ‘打开数据库,并执SQL行查询返回记录集,后面有两个1,那个是控制游标的 如果只查询不修改数据库 两处都用1,,如果是修改的话就用1,3
rs.pagesize=20 '此处设置分页记录 20个记录为一页
if request("page")<>"" then 这里是一个判断的显示页码的过程
epage=cint(request("page"))
if epage<1 then epage=1
if epage>rs.pagecount then epage=rs.pagecount
else
epage=1
end if
rs.absolutepage=epage ’将记录指针移到第epage 页的第一行
%>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#0000FF" width="80%" align="center"> 用表格或者div控制输出格式
<tr bgcolor="#FFFFFF" align="center">
<th><%=rs(0).name%></th><th><%=rs(1).name%></th><th><%=rs(2).name%></th>显示记录的值
</tr>
<%
for i=0 to rs.pagesize-1 ‘循环开始
if rs.bof or rs.eof then exit for 不符合条件 跳出循环
%>
<tr bgcolor="#FFFFFF" align="center">
<td><%=rs(0).value%></td><td><%=rs(1).value%></td><td><%=rs(2).value%></td>
</tr>
<%
rs.movenext() 移到下一条记录
next // for...next
%>
</table>
<p align="center"> 分页显示格式 可以自定义 从中可以看出 分页是通过传递参数来实现的
<a href="">首页</a>
<a href="index.asp?page=<%=epage-1%>">前一页</a>
<a href="index.asp?page=<%=epage+1%>">后一页</a>
<a href="index.asp?page=<%=rs.pagecount%>">末页</a>
</p>
<p align="center">现在是第<%=epage%>页一共有<%=rs.pagecount%>页</p>
<%
Rs.close
Set rs=nothing
conn.close() ’关闭数据库连接
%>
温馨小提示:eg.mdb 为数据库 table1表名 rs(1).name等等之类的是取记录集中的值 这些都可以自由更改,需要参照实际情况,其余的都可以直接复制 把注释删掉就ok
通过上面两个步骤,就可以实现一个简单的Asp分页代码,只要理解了每一个对象属性的具体含义,运用起来就不难。编程都重在实践,光说不练,收不到啥效果。文中也插入了Asp编程的其他参考文章,如果看不懂可以先去看看那些文章再来吧!至于分页代码的样式可以自由去设置。