asp分页显示数据库的问题,如果最后一页记录不够每页显示数量,就会报错。

比如我的数据库的记录为7条,那么设定分页每页显示3条,那么前两页都能显示,而最后一页报错。其实就是因为最后一页的记录不能达到设定的3条,而只有1条,所以最后一页就无法显示... 比如我的数据库的记录为7条,那么设定分页每页显示3条,那么前两页都能显示,而最后一页报错。其实就是因为最后一页的记录不能达到设定的3条,而只有1条,所以最后一页就无法显示,那么怎么解决?它提示错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

请看我的代码。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim lian
lian="provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data/guest.mdb")
Set bb=Server.CreateObject("ADODB.Connection")
bb.open lian
%>
<%
dim exc
exc ="select * from yonghu"
set read=server.CreateObject("ADODB.recordset")
read.Open exc,bb,1,1 '1,1
%>
<%
read.pagesize=3
pages=read.PageCount
pagex=int(request("page"))
if pagex<=0 then pagex=1
if pagex="" then pagex=1
read.AbsolutePage=pagex
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; chareadet=gb2312">
<title>无标题文档</title>
</head>

<body>
<table width="500" height="159" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
<td>爱好</td>
<td>职业</td>
<td>时间</td>
</tr>
<% for a=1 to read.pagesize %>
<tr>
<td><%=read("name")%></td>
<td><%=read("sex")%></td>
<td><%=read("age")%></td>
<td><%=read("hoby")%></td>
<td><%=read("job")%></td>
<td><%=read("time")%></td>
</tr>
<%
read.movenext
next
%>
<p> </p>
<%for i=1 to pages%>
<a href="fengye.asp?page=<%=i%>"><%=i%></a>
<%next%>

</body>
</html>
一楼的方法不行,试过了还是不行。
展开
 我来答
jckwka
推荐于2016-08-05 · TA获得超过1414个赞
知道小有建树答主
回答量:1119
采纳率:0%
帮助的人:828万
展开全部
这个我一直在用的,你要么用我的看看,把数据库名称和显示数据修改下
<% set rsnews=server.createobject("adodb.recordset")
SQL="SELECT * FROM 数据库名称 ORDER BY ID DESC"
rsnews.open SQL,CONN,1,3
IF Not rsnews.eof Then
proCount=rsnews.recordcount
rsnews.PageSize=10 '定义显示数目
if not IsEmpty(Request("ToPage")) then
ToPage=CInt(Request("ToPage"))
if ToPage>rsnews.PageCount then
rsnews.AbsolutePage=rsnews.PageCount
intCurPage=rsnews.PageCount
elseif ToPage<=0 then
rsnews.AbsolutePage=1
intCurPage=1
else
rsnews.AbsolutePage=ToPage
intCurPage=ToPage
end if
else
rsnews.AbsolutePage=1
intCurPage=1
end if
intCurPage=CInt(intCurPage)
For i = 1 to rsnews.PageSize
if rsnews.EOF then
Exit For
end if
%>

'....输出信息

<%
rsnews.MoveNext
next
%>
<%else%>

<%end if%>
<%
rsnews.close
set rsnews=nothing
%>

<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"芦源>
<tr>
<td height="25" align="right" valign="middle">
<a href="?cla=<%=cla%>&type=<%=request("type")%>&ToPage=<%=intCurPage-1%>"onFocus="this.blur()">上一页</a>
     
<a href="?cla=<%=cla%>埋凳&type=<%=request("type")%>&ToPage=<%=intCurPage+1%>"onFocus="this.blur()">下一页</a>     
</td>
</tr>
</陪液态table>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
helloworld22
2011-01-22 · TA获得超过519个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:440万
展开全部
服了你,干嘛要for循环。裤滑要用搭纯睁while loop
while not rs.eof then
'你的代知岁码
rs.movenext
loop
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式