为什么我写得分页程序,只可以读取第一页上的的数据呢?我初学者,很急,帮忙看看吧,再线等

cwjdily 2003-10-21 11:01:12
程序不长,请看看吧,谢谢!
<!-- #INCLUDE FILE="conn.asp" -->

<%
response.buffer=true
Response.Expires=0
sql="select * from news where news_native='"&request("native")&"' order by news_date"
Set rs = Server.CreateObject("ADODB.Recordset")

rs.open sql,conn,1
page=1
rs.PageSize =20

if Not IsEmpty(Request("Page")) then

Page = CInt(Request("Page"))

if Page > rs.PageCount then
rs.AbsolutePage = rs.PageCount

elseif Page <= 0 then
Page = 1
else
rs.AbsolutePage = Page
end if
End if

%>



共有<%=rs.recordcount%>条记录 当前是第<%=page%>页 共有<%=rs.pagecount%>页
<%if page<>1 then%>
<a Href="nesw2.asp?Page=1">首页</a>
<a Href="nesw2.asp?Page=<%=Page-1 %>">上一页</a>
<%end if %>
<%if page<>rs.pagecount then %>
<a Href="nesw2.asp?Page=<%=Page+ 1%>">下一页</a>
<a Href="nesw2.asp?Page=<%=rs.PageCount%>">尾页</a>
<% end if %>
<hr>
<%
For i = 1 to rs.PageSize


if trim(rs("news_native"))=request("native") then
end if
%>


<img src="images/pot.gif" width="17" height="13">  <font
class="p9-200"><%=rs("news_date")%></font>  <a
href="disp.asp?recno=<%=rs("news_no")%>" target="news"><%=rs("news_title")%></a>
<br>


<%
if rs.eOF then
Exit For
end if
rs.movenext
next
%>


<%rs.close
set rs=nothing%>
...全文
36 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
BraveHorse 2003-10-22
  • 打赏
  • 举报
回复
Set rs = Server.CreateObject("ADODB.Recordset")

rs.open sql,conn,1
if rs.eof or rs.bof then

else
分页代码放在这
end if
cwjdily 2003-10-22
  • 打赏
  • 举报
回复
我按各位的方法试了,可是一翻到第二页或往后就出现如下问题,怎么回事呀?
共有0条记录 当前是第1页 共有0页
ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

news2.asp,行0
了如下问题请问怎么解决
BraveHorse 2003-10-22
  • 打赏
  • 举报
回复
就是说,你每次取记录的时候,先判断rs是否时空
cwjdily 2003-10-22
  • 打赏
  • 举报
回复
不太明白
能说的清楚点吗
cwjdily 2003-10-21
  • 打赏
  • 举报
回复
没有人在吗!
cwjdily 2003-10-21
  • 打赏
  • 举报
回复
就是上下页不起作用,只能看第一页,这是怎么回事?谢谢各位了!
gevn 2003-10-21
  • 打赏
  • 举报
回复
我把你的代码加到我程序里都是可以了的。
不过有个小问题就是。
response.write rs("name")
rs.movenext
if rs.eof then
Exit For
end if

next
你应该把rs.movenext放在if rs.eof then的前面,好不你再试一下吧。反正我用你的代码是OK了.
BraveHorse 2003-10-21
  • 打赏
  • 举报
回复
if Not IsEmpty(Request("Page")) then
这句话有问题,isempty(request("page"))永远是true 然后 not 就永远是false因此你分页的那段代码不会被执行。
你应该改成: if request("page")<>"" then
这样就可以了,而你的意思也是这样。
isempty是判断一个变量是否被初始化了,不能用来判断是否从页面request。
希望对你能有所帮助,不要随便使用isempty
BraveHorse 2003-10-21
  • 打赏
  • 举报
回复
你的记录数不会是小于二十吧?
gevn 2003-10-21
  • 打赏
  • 举报
回复
我帮你试了一下可以分页呀。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧