asp(急,在线等)

yhong5 2002-09-15 05:21:30
这里是一个留言簿的分页程序,但是其中的<%
icount=0
do while not rs.eof and icount<rs.pagesize
icount=icount+1
%>
不知道是什么意思,请各位大虾帮忙解释一下。谢谢。

<%
dim conn
dim connstr
dim rs
set conn=server.createobject("ADODB.CONNECTION")
connstr="DBQ="+server.mappath("guest1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
conn.open connstr
Set rs=server.createobject("ADODB.RECORDSET")
rs.open "select * from guest order by id desc",conn,1,1
if rs.bof and rs.eof then
repose.write("没有纪录")
else
end if
rs.pagesize=5

%>

<form Action="allmsg4.asp" Method="GET" align="right">

<p>留言簿共有
<font size=5 color=red>
<%=rs.recordcount %>
</font>
笔纪录
<%

Page = CLng(Request("Page")) ' CLng 不可省略
If Page < 1 Then Page = 1
If Page > rs.PageCount Then Page = rs.PageCount
rs.absolutePage=page
%>

<form Action="allmsg4.asp" Method="GET" align="right">
 <%
If Page <> 1 Then
Response.Write "<A HREF=allmsg4.asp?Page=1>第一页</A>"
Response.Write "<A HREF=allmsg4.asp?Page=" & (Page-1) & ">上一页</A>"
End If
If Page <> rs.PageCount Then
Response.Write "<A HREF=allmsg4.asp?Page=" & (Page+1) & ">下一页</A>"
Response.Write "<A HREF=allmsg4.asp?Page=" & rs.PageCount & ">最后一页</A>"
End If
%> 页数:<font COLOR="Red"><%=Page%>/<%=rs.PageCount%></font> </p>
</form>
<%
icount=0
do while not rs.eof and icount<rs.pagesize
icount=icount+1
%>
<table border=1 >
<tr>

<td bgcolor=lightyellow width=100><b>姓名:</b>
<td bgcolor=lightyellow width=100><b><% =rs("name")%></b></td>
<td bgcolor=lightyellow width=100><b>邮件:</b>
<td bgcolor=lightyellow width=100><b><% =rs("mail")%></b></td>
<td bgcolor=lightyellow width=100><b>日期:</b>
<td bgcolor=lightyellow width=100><b><% =rs("date1")%></b></td>
<td bgcolor=lightyellow width=200><b>IP:</b>
<td bgcolor=lightyellow width=200><b><% =rs("ip")%></b></td>
</tr>
<tr><td bgcolor=lightyellow><b>留言标题:</b>
<td colspan=7 width=700><b><% =rs("subject")%></b></td>
</tr>
<tr><td bgcolor=lightyellow><b>留言内容:</b>
<td colspan=7 width=700><b><% =rs("liuyan")%></b></td>
</tr>

<table width="100%" border="0" height="21" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
</tr>
</table>
<br>
<%
rs.movenext
loop
%>
</table>
<%rs.close
set rs=nothing
conn.close

set conn=nothing
%>


</table>
...全文
35 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkbao 2002-09-15
  • 打赏
  • 举报
回复
这样的分页效率低。
twtetgso 2002-09-15
  • 打赏
  • 举报
回复
不错,tdl982324(石井坚) 说的对。
Reker熊 2002-09-15
  • 打赏
  • 举报
回复
do 那句是个循环,当记录集rs没有eof并且icount值小于每一页要显示的数据数目时执行循环

因为icount=0是初始值,每循环一次icount自动加一,这样当icount=rs.pagesize时停止循环,刚好输出了rs.pagesize条数据

从而达到分页的效果
iStringTheory 2002-09-15
  • 打赏
  • 举报
回复
icount=0 '设定循环变量初始值为0
do while not rs.eof and icount<rs.pagesize '开始循环,在到达记录末尾或者icount等于设定的每页显示记录数时停止循环

icount=icount+1 ’icount变量自增1

bqtiger 2002-09-15
  • 打赏
  • 举报
回复
程序可以通过吗?听你说好象是没出错。
bqtiger 2002-09-15
  • 打赏
  • 举报
回复
recordset.pagesize是recordset对象的一个属性
用来读取recordset每个分页的大小。
比如一次查询返回100条记录。recordset.pagesize=10
那么分页就有10页。
recordset.pagesize在recordset对象激活前是可写的。过后只读。

28,390

社区成员

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

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