asp vbscript中分页效果遇到的问题。。。。。。高分求取!!!!

我用aspvbscript语言实现分页效果。用浏览器测试,当我点击最后一页时,出现如下错误提示:ADODB.Recordset'800a0bcd'BOF或EOF中有一个是... 我用asp vbscript 语言 实现分页效果。用浏览器测试,当我点击最后一页时,出现如下错误提示:
ADODB.Recordset '800a0bcd'
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
\wwwroot\xxx.asp, line 39

麻烦懂行的大侠们告诉我:
1.我哪里错了?
2.为什么错了??
3.应该怎么改???
共三个问题
谢谢!!!

我的代码如下:
<body>
<!--链结数据库和表-->
<%
set conn=server.CreateObject("adodb.connection")
conn.open "DRIVER=Driver do Microsoft Access (*.mdb);UID=admin;PWD=;DBQ="&Server.MapPath("kadaxue.mdb")
%>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open"info order by [s_no] desc",conn,1,1
%>

<!--规定每页显示3条记录,分?页,定位所在页-->
<%
rs.pagesize=3 '每页有多少记录
zongye=rs.pagecount '分成几页
page=int(request("page"))
if page<=0 then page=1
if request("page")="" then page=1
rs.absolutepage=page
%>

<!--用for循环输出info表内容-->
<%for i=1 to rs.pagesize%>
<%=rs("s_name")%>
<br>
<%
rs.movenext
next
%>

<!--页码-->
<% for i=1 to zongye %>
<a href="xxx.asp?page=<%=i%>"><%=i%></a>
<%next%>

</body>

注:我的数据库里共有10条记录,如果我改成9条,即改成每页显示的记录数pagesize的整数倍,则不提示任何错误。我用的是access数据库
展开
 我来答
djiz
2009-05-25 · TA获得超过337个赞
知道小有建树答主
回答量:508
采纳率:0%
帮助的人:299万
展开全部
1.<%for i=1 to rs.pagesize%>
<%=rs("s_name")%>
<br>
<%
rs.movenext
next
%>错了
2.你在输出之前没有判断是否到达最后一个记录
只是不停 rs.movenext 输出最后一个记录后 在movenext 指针就会指向整个记录集的末尾(一条空记录,此时rs.eof 属性为真),当下一个循环开始输出<%=rs("s_name")%>
就会出错。所以在输出之前 只需要判断一下 rs.eof是否为真 就能知道当前指针是否指向了末尾。
当然还可以在开始用select count(*) from info 来得到总记录数 然后 赋值给一个变量 ,没循环一次 变量减去1,在输出之前检查变量的值 只要大于1 就可输出 否则 输出后马上跳出循环即可。

3.
<!--用for循环输出info表内容-->
<%for i=1 to rs.pagesize
'输出之前先判断一下是否已经到记录末尾
if rs.eof then exit for
%>
<%=rs("s_name")%>
<br>
<%
rs.movenext
next
%>
hothood
2009-05-25 · 超过20用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:0
展开全部
最后没有数据就错误了,在asp代码句首加上这句吧
On Error Resume Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spant8
2009-05-25 · TA获得超过1755个赞
知道小有建树答主
回答量:2113
采纳率:50%
帮助的人:666万
展开全部
zongye=rs.pagecount '分成几页
这句有问题。应该是
zongye=cint(rs.pagecount/rs.pagesize)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DW_js
2009-05-25 · TA获得超过101个赞
知道小有建树答主
回答量:467
采纳率:0%
帮助的人:177万
展开全部
connstr="DBQ="+server.mappath("shihao.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
换下这个DRIVER那种我有时显示数据总出错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式