5天学会asp(14)
要克服最后一页中的"下一页"仍处于连接状态有一个办法.就是把程序中稍加改动如下:
<%if request("page")<>rs.pagecount then %>
<a Href="test.asp?Page=<% =request("page") + 1%>">下一页</a>
<% else response.write"下一页"%>
就是此时把"下一页"设置成非连接状态
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if '利用for next 循环依次读出记录
使用的是Do while。
分页代码的示例:::
-----------------------------------------------------------------------------------
<%
db="数据地址.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conns="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open conns
Set rs = Server.CreateObject("ADODB.Recordset")
sql="Select * from 表名 order by id desc"
rs.open sql,conn,1,1
if rs.eof then
response.write("没有记录")
else
Page=Int(Abs(Request("page")))
IF not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Then page=1
rs.pagesize = 10 '每页显示记录数
total = rs.RecordCount
mp = rs.pagesize
rs.absolutepage = page
i=0:k=0
do while not rs.eof and mp>0:k=k+1
response.write("显示第"&rs("id")&"条记录")
i=i+1
mp=mp-1
rs.movenext
loop
if page>rs.pagecount then Response.redirect("index.asp?page="&rs.pagecount)
if page>1 then
response.Write("<a href='index.asp?&page=1' title='首页'>首页</a>")
response.Write(" <a href='index.asp?page="&page-1&"' title='上一页'>上一页</a> ")
end if
response.Write("第"&page&"/"&rs.pagecount&"页 共"&total&"条记录 本页显示第"&(page-1)*rs.pagesize+1&"条到第"&(page-1)
*rs.pagesize+k&"条 ")
if page<rs.pagecount then
response.Write("<a href='index.asp?page="&page+1&"' title='下一页'>下一页</a>")
response.Write(" <a href='index.asp?page="&rs.pagecount&"' title='尾页'>尾页</a>")
end if
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
这样一个分页的程序就算是做好了,这个程序非常简单而且便于理解,是个学习的好例子。
大家在做一个程序前应该多想想怎么样实现这个功能,然后在动手去写这个代码,
这样才能做到胸有成竹。
呵呵,有时候学点东西真的很不爽哦,
又快到新的一天了
明天我们粗率的讲解一下ASP的组件,这样asp的精华我们也就全部讲完了,
内容版权声明:除非注明,否则皆为本站原创文章。