注册 登录
编程论坛 新人交流区

ASP分页问题

linjirongkk 发布于 2007-10-24 23:32, 184 次点击

ASP分页问题


<%
dim str,rce,conn
str="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("rong.mdb")
set conn=server.CreateObject("adodb.connection")
conn.open str
set rce=server.CreateObject("adodb.recordset")
rce.open"select*from biao ",conn,1,1
%>
<%rce.pagesize=3
qwe=rce.pagecount
page=int(request ("page"))
if page<=0 then page=1
if request ("page")="" then page=1
rce.absolutepage=page%>
<%if rce.eof and rce.bof then
response.Write("没有记录")
else
for i=1 to rce.pagesize
response.write("<br>名字:"& rce("name"))
response.write("<br>日期:"& rce("rq"))
response.write("<hr>")
rce.movenext
next
end if%>
</p>
<% for i=1 to qwe %>
<a href="dext.asp?page=<%=i%>"><%=i%></a>
<%next%>
<% rce.close
set rce=nothing
%>

高手看下上面的代码,我设的是每页显示三条记录,但如果我数库里有四条数据记录,那就应该显示两页的,但最后一页一点连接就会错误不明白什么原因,每页三条如果我数据库里有六条记录那么就正常显示,如果有数据库里有七条数据记录一二页显示正常最后一页又显示不正常如此类推,,希望高手指点下错误原因

1 回复
#2
深海幻想2007-10-25 15:14
for i=1 to rce.pagesize
response.write("<br>名字:"& rce("name"))
response.write("<br>日期:"& rce("rq"))
response.write("<hr>")
rce.movenext
next

应该是这里的问题,
假如你有4条记录,在第二页的时候,照你这样就会显示4,5,6条记录.而事实上一共只有4条,所以就会出错.
在"for i=1 to rce.pagesize"下面加一句:if rce.eof then exit for试试?
1