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>
一楼的方法不行,试过了还是不行。 展开
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>
一楼的方法不行,试过了还是不行。 展开
2个回答
展开全部
这个我一直在用的,你要么用我的看看,把数据库名称和显示数据修改下
<% 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>
<% 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>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询