标题:do while与for循环的区别
只看楼主
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
不可能一样
Rs.PageSize =15

假设记录集只有一行数据
循环一次
i=1
这个时候,i >= Rs.PageSize 并不成立,不会跳出
而rs.eof 已经成立了

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-04-01 08:16
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
得分:0 
<!--#include file="Conn.asp" -->
<!--#include file="Conn1.asp"-->
<!--#include file="Comm/Site_Class.asp" -->
<%
PagePath = ""

Set Qsite = New Site_Class

Qsite.SiteConfig_Master()
Dim Rs,Sql,CurrentPage,FileName,Sql1,Rs1
Dim PersonName,ViewType
Dim PerId
Dim Act,IsHidden,IsLock,IsGj,IsTj,IsYear,IsSh
Dim TodayDate
Dim j,s,m,n,i,x
Dim A(),B(),C()
m=0
n=0
x=0
   Set rs=server.CreateObject("ADODB.Recordset")
   '打开记录集对象
%>
<title>网站公告页面</title>
</head>

<BODY>


<table width="100%" border="0" cellspacing="1" cellpadding="5">
    <tr>
        <td width="8%" class="td_content"><strong>用户名</strong></td>
        <td width="8%" class="td_content"><strong>真实姓名</strong></td>
        <td width="6%" class="td_content"><strong>性别</strong></td>
        <td width="6%" class="td_content"><strong>年龄</strong></td>
        <td width="8%" class="td_content"><strong>学历</strong></td>
        <td width="12%" class="td_content"><strong>求职意向</strong></td>
    </tr>

<%
   Set Rs1=server.CreateObject("ADODB.Recordset")
   Rs1.open "Select * from UserTB",Conn1,1,1
     If Not Rs1.Eof Then
          for j=1 to rs1.recordcount
          ReDim Preserve B(2,rs1.recordcount)
          B(1,j)=Rs1("PerId")
          B(2,j)=Rs1("FUname")
          m=m+1
          rs1.movenext
          next
          End if
     Rs1.close
  Set Rs=server.CreateObject("ADODB.Recordset")
  Rs.open "select * from test",Conn,1,1
  if Not Rs.Eof Then
   for j=1 to Rs.Recordcount
   ReDim Preserve A(2,rs.recordcount)
     A(1,j)=Rs("PerId")
     A(2,j)=Rs("UserName")
     n=n+1
     rs.movenext
     next
     End if
     Rs.close
     s=m+n
     
     
     for i=1 to n
     ReDim preserve B(2,s)
     B(1,m+i)=A(1,i)
     B(2,m+i)=A(2,i)
     next
  Set Rs=server.CreateObject("ADODB.Recordset")
   Rs.open "Select * from PersonTbl order by EditDate desc",Conn,1,1
     If Not Rs.Eof Then
     for j=1 to rs.recordcount
     x=x+1
     ReDim Preserve C(7,rs.recordcount)
     C(2,j)=Rs("sex")
     C(3,j)=Rs("age")
     C(4,j)=Rs("realname")
     C(5,j)=Rs("Qualification")
     C(6,j)=Rs("JobPost")
     C(1,j)=Rs("PerId")
     C(7,j)=""
     rs.movenext
     next
     End if
     Rs.close
     for i=1 to x
       for j=1 to s
        if C(1,i)<>B(1,j) Then
        Else
        C(7,i)=B(2,j)
        End if
        next
     next
  '定义循环变量
 rs.open "select * from PersonTbl order by EditDate desc",Conn,1,1
   rs.pagesize=15
   '得到请求的页号
   CurrentPage=clng(request("page"))
   IF request("page")<>"" then
     CurrentPage=clng(request("page"))
   Else
     CurrentPage=1
   End IF
   IF CurrentPage<1 Then CurrentPage=1
   If CurrentPage>rs.pagecount Then CurrentPage=rs.pagecount
  rs.absolutepage=CurrentPage
  for  i=1 to rs.recordcount--------现在是这样的情况如果用循环 for i=1 to rs.recordcount 时 一个页面就显示完了rs.pagesize根本就没有控制住,
                                    如果用 for i=1 to rs.pagesize 数组C()在rs.pagesize就结束了,我想让数据库记录的数跟数组同时结束,怎么解决
  ReDim Preserve C(7,rs.recordcount)
  %>
  <tr>
        <td class="td_content"><%=C(7,i)%></td>
        <td class="td_content"><%=C(4,i)%>||<%=Rs("realname")%></td>
        <td class="td_content"><%=C(2,i)%>||<%=Rs("sex")%></td>
        <td class="td_content"><%=C(3,i)%>||<%=Rs("age")%></td>
        <td class="td_content"><%=C(5,i)%>||<%=Rs("Qualification")%></td>
        <td class="td_content"><%=C(6,i)%>||<%=Rs("JobPost")%></td>
</tr>
  <%
   rs.MoveNext
   IF rs.Eof Then Exit For
  next
  %>
</table>
<table width="400" border="0">
  <tr>
  <%
  '翻页控制代码
  IF CurrentPage<>1 Then
    Response.Write("<td><a href=aa.asp?page=1>第一页</a></td>")
    Response.Write("<td><a href=aa.asp?page="&(CurrentPage-1)&">上一页</a></td>")
  Else
    Response.Write("<td>第一页</td>")
    Response.Write("<td>上一页</td>")
  End IF   
  IF CurrentPage<>rs.pagecount then
    Response.Write("<td><a href=aa.asp?page=" & (CurrentPage+1) & ">下一页</a></td>")
    Response.Write("<td><a href=aa.asp?page=" & rs.pagecount & ">最后一页</a></td>")
  Else
    Response.Write("<td>下一页</span></td>")
    Response.Write("<td>最后一页</span></td>")
  End IF
  %>
    <td>共<%=rs.pagecount%>页</td>
    <td>当前第<%=CurrentPage%>页</td>
  </tr>
</table>
<%
'网页对象析构代码
rs.Close
conn.Close
Set rs=Nothing
Set conn=Nothing
%>
</body>
</html>

运行后出现重复而且Rs.PageSize=15根本没控制住怎么回事
第一个页面就全部显示完了

路成军     路成军     男     25     本科     程序员
xiaoye2234     王小叶     女     23     大专     助理
richard77     傅振国     男     30     本科     外贸业务员
nancy2002     高琴琼     男     22     本科     翻译
manxin     王温丽     女     22     大专     外贸单证
王秧飞     王秧飞     女     25     高中及以下     金融
denisegong     龚琼盛     女     28     大专     其他
pursuit     梁飞杰     男     22     本科     外贸业务员
yi4218     曹麟义     男     27     大专     外贸跟单
zdy123     周道园     男     26     高中及以下     其它
monicazyj     张郁佳     女     25     大专     外贸采购或助理
第二个页面跟第一个页面重复
王秧飞     王秧飞     女     25     高中及以下     金融
denisegong     龚琼盛     女     28     大专     其他
pursuit     梁飞杰     男     22     本科     外贸业务员
yi4218     曹麟义     男     27     大专     外贸跟单
zdy123     周道园     男     26     高中及以下     其它
monicazyj     张郁佳     女     25     大专     外贸采购或助理


[ 本帖最后由 ab382717036 于 2011-4-2 15:54 编辑 ]
2011-04-02 14:07
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
得分:0 
求助 求助
2011-04-02 15:55
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
得分:0 
哎  自己终于把问题解决了不容易啊
2011-04-02 17:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-335186-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075658 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved