一个关于ASP数据库分页的问题请教
我分页的时候比如每页20条,总记录数为55条,那应该是分1,2,3三页,这些都没问题,正常显示,选择1和2后分别显示第1-20,21-40都很正常,但是第3页由于数据只有...
我分页的时候比如每页20条,总记录数为55条,那应该是分1,2,3三页,这些都没问题,正常显示,选择1和2后分别显示第1-20,21-40都很正常,但是第3页由于数据只有15个不足20条记录了,IIS就出现了0x80020009的错误,就是什么EOF bof 为真什么的
<!--#include file="conn.asp"-->
<%sql = "select * from myuser_vip"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1%>
<%if rs.eof and rs.bof then 'if语句用来判断如果数据库没有记录的操作
response.Write("暂时还没有VIP用户")
else
rs.PageSize=3
pagecount=rs.PageCount
page=int(request("page"))
if page<=0 then page=1
if request("page")="" then page=1
if rs.recordcount<rs.pagesize then page=page
rs.AbsolutePage=page%>
<%for i=1 to rs.PageSize%>
<%=rs("vipusername")%>
<%=rs("vipuserurl")%>
<%rs.MoveNext
next%> 展开
<!--#include file="conn.asp"-->
<%sql = "select * from myuser_vip"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1%>
<%if rs.eof and rs.bof then 'if语句用来判断如果数据库没有记录的操作
response.Write("暂时还没有VIP用户")
else
rs.PageSize=3
pagecount=rs.PageCount
page=int(request("page"))
if page<=0 then page=1
if request("page")="" then page=1
if rs.recordcount<rs.pagesize then page=page
rs.AbsolutePage=page%>
<%for i=1 to rs.PageSize%>
<%=rs("vipusername")%>
<%=rs("vipuserurl")%>
<%rs.MoveNext
next%> 展开
展开全部
是这样的,你的每页都循环写出20条记录
前两页都是正确的因为他们都满足够20条记录这个条件,所以指针不会跑出记录之外
而第三页不足20条,所以当它到第十六条记录时,就会跑出记录之外
而这时,当指针在记录之外,却要引用记录集某个字段时,就会出错
系统报错,就会出现什么eof,bof之类的
解决方法
在每次操作数据时都要加上一个验证语句,如我这样写
for i=1 to rs.reocrdcount
if not rs.bof and not rs.eof then
'读出数据
else
exit for
end if
next
明白我的意思了吗?
前两页都是正确的因为他们都满足够20条记录这个条件,所以指针不会跑出记录之外
而第三页不足20条,所以当它到第十六条记录时,就会跑出记录之外
而这时,当指针在记录之外,却要引用记录集某个字段时,就会出错
系统报错,就会出现什么eof,bof之类的
解决方法
在每次操作数据时都要加上一个验证语句,如我这样写
for i=1 to rs.reocrdcount
if not rs.bof and not rs.eof then
'读出数据
else
exit for
end if
next
明白我的意思了吗?
展开全部
你要加上这句
if rs.eof then exit for
根据实际情况,是 for 或者 do
if rs.eof then exit for
根据实际情况,是 for 或者 do
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
认同楼上的说法!
在FOR语句进入下一次循环前先要判断是否还有记录可以显示,否则无记录了就只能显示错误信息了!
在FOR语句进入下一次循环前先要判断是否还有记录可以显示,否则无记录了就只能显示错误信息了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把代码发出来 不然不知道怎么给你解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询