| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4657 人关注过本帖
标题:do while与for循环的区别
只看楼主 加入收藏
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
结帖率:91.67%
收藏
已结贴  问题点数:10 回复次数:13 
do while与for循环的区别
这里我用for循环页面就出现
错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/人才招聘系统asp.0602/page.asp
而用Do while 循环就能实现分页功能
<!--#include file="Conn.asp" -->
<!--#include file="Comm/Site_Class.asp" -->
<%
PagePath = ""

Set Qsite = New Site_Class

Qsite.SiteConfig_Master()
%>
<%
Dim Rs,Sql,i,CurrentPage,FileName,j
Dim PersonName,ViewType
Dim PerId
Dim Act,IsHidden,IsLock,IsGj,IsTj,IsYear,IsSh
Dim TodayDate
Set Rs = server.CreateObject("ADODB.recordset")

%>
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>简历管理</title>
<link href="../skins/css/main.css" rel="stylesheet" type="text/css">


<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>
<%
Rs.Open "select * from PersonTbl order by EditDate desc", Conn , 1 , 1
If Rs.Eof Then
%>
    <tr>
        <td height="45" colspan="11" class="td_content">暂无简历信息</td>
    </tr>
<%
Else
    CurrentPage=Clng(Request("page"))
    Rs.PageSize=15
    if CurrentPage="" Then CurrentPage=1
    if isNumeric(CurrentPage) Then CurrentPage=int(CurrentPage)
    if CurrentPage<1 Then CurrentPage=1
    if CurrentPage>rs.pagecount  Then
       CurrentPage=rs.pagecount
     End if
     if CurrentPage<=rs.pagecount and rs.pagecount>0 Then
     rs.absolutepage=CurrentPage
     End if
    i = 0
    if not rs.Eof Then  ------------
     for j=1 to rs.recordcount-----------改为DO While not rs.Eof
%>
    <tr>
        <td class="td_content"><%=Rs("UserName")%></td>
        <td class="td_content"><%=Rs("RealName")%></a></td>
        <td class="td_content"><%=Rs("Sex")%></td>
        <td class="td_content"><%=Rs("Age")%></td>
        <td class="td_content"><%=Rs("Qualification")%></td>
        <td class="td_content"><%=Rs("JobPost")%></td>
<%
    i = i + 1
    response.Write(i)
    response.Write(j)
    response.Write("<br>")
    Rs.MoveNext
    If i >= Rs.PageSize Then Exit For-------For 改为Do
    next------------------------------------Loop
End if
End If
%>
</table>
<%If Rs.pagecount>1 Then%>
<% If CurrentPage > 1 Then %>
<a href="page.asp?page=<%=CurrentPage-1%>">前一页</a>&nbsp;
  <% Else %>
  首页 上页
  <% End if%>
  <%  If CurrentPage < Rs.pagecount Then %>
<a href="page.asp?page=<%=CurrentPage+1%>">后一页</a>&nbsp;
<% End if%>
<a href="page.asp?page=<%=rs.pagecount%>">末页</a>
<% End if%>
</p>
<p align="center">现在是第<%=CurrentPage%>页一共有<%=rs.pagecount%>页</p>
<%
Rs.Close
%>

</body>
</html>
搜索更多相关主题的帖子: 人才招聘 
2011-03-30 15:14
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:3 
程序代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--#include file="CONDB.inc"-->
<!--引用数据库连接文件-->
<%
   '声明数据库记录集对象
   Dim rsano
   Dim oWebI
   '创建数据库记录集对象
   Set rsano=Server.CreateObject("ADODB.Recordset")
   '设定数据库记录集游标类型
   rsano.cursortype=3
   '打开记录集对象
   rsano.Open "select * From ANOUCE ORDER BY AnnounceTheDate DESC",con
   '设定每页显示记录数
   rsano.pagesize=25
   '得到请求的页号
   page=clng(request("page"))
   IF request("page")<>"" then
     page=clng(request("page"))
   Else
     page=1
   End IF
   IF page<1 Then page=1
   If page>rsano.pagecount Then page=rsano.pagecount
   rsano.absolutepage=page
%>
<title>网站公告页面</title>
<!--去除超连接下划线样式表和字体大小设定代码-->
<style type="text/css">
<!--
  <%=PageStyleT.StyleString%>
-->
</style>
<STYLE type=text/css>
A {
    TEXT-TRANSFORM: none; TEXT-DECORATION: none
}
UNKNOWN {
    TEXT-DECORATION: underline
}
.style22 {font-size: 12px}
.style16 {font-size: 14px}
</STYLE>
</head>

<BODY>

<table width="294" height="46" border="0" cellspacing="0">
  <tr>
    <td width="338"><div align="center" class="style22">公告标题</div></td>
    <td width="95"><div align="center" class="style22">发布日期</div></td>
  </tr>
  <%
  '定义循环变量
  dim iPage
  For iPage=1 to rsano.Pagesize
   'recno=(page-1)*rsano.pagesize+ipage记录编号计算公式
   Response.Write("<tr>")
     Response.write("<td><span class=style16><a href=announceview.asp?anbh="&rsano.Fields(0).Value&" target=_self>"&rsano.Fields(1).Value&"</a></span></td>")
     Response.Write("<td><span class=style22>"&FormatDateTime(rsano.Fields(4).Value,2)&"</span></td>")
   Response.Write("</tr>")
   rsano.MoveNext
   IF rsano.EOF Then
      Exit For
   End If
  Next
  %>
</table>
<table width="293" border="0">
  <tr>
  <%
  '翻页控制代码
  IF page<>1 Then
    Response.Write("<td><span class=style22><a href=announce.asp?page=1>第一页</a></span></td>")
    Response.Write("<td><span class=style22><a href=announce.asp?page="&(page-1)&">上一页</a></span></td>")
  Else
    Response.Write("<td><span class=style22>第一页</span></td>")
    Response.Write("<td><span class=style22>上一页</span></td>")
  End IF   
  IF page<>rsano.pagecount then
    Response.Write("<td><span class=style22><a href=announce.asp?page=" & (page+1) & ">下一页</a></span></td>")
    Response.Write("<td><span class=style22><a href=announce.asp?page=" & rsano.pagecount & ">最后一页</a></span></td>")
  Else
    Response.Write("<td><span class=style22>下一页</span></td>")
    Response.Write("<td><span class=style22>最后一页</span></td>") 
  End IF
  %>
    <td><span class=style22><%=rsano.pagecount%></span></td>
    <td><span class=style22>当前第<%=page%></span></td>
  </tr>
</table>
<%
'网页对象析构代码
rsano.Close
con.Close
Set rsano=Nothing
Set con=Nothing
%>
</body>
</html>
ASP的简单分页代码
2011-03-30 15:34
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
收藏
得分:0 
我只想知道我那种情况 for循环为什么不行,而Do while 循环可以
2011-03-30 15:56
dzt0001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1281
专家分:4998
注 册:2005-10-12
收藏
得分:3 
是你写的代码不对,你去查一下如何用for next分页

----我怎能在别人的苦难面前转过脸去----
2011-03-30 18:21
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:3 
for是无论条件成立不成立都至少执行一次,如果条件不符造成的空子集,自然会出错。

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

Set Qsite = New Site_Class

Qsite.SiteConfig_Master()
%>
<%
Dim Rs,Sql,i,CurrentPage,FileName,j
Dim PersonName,ViewType
Dim PerId
Dim Act,IsHidden,IsLock,IsGj,IsTj,IsYear,IsSh
Dim TodayDate
Set Rs = server.CreateObject("ADODB.recordset")

%>
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>简历管理</title>
<link href="../skins/css/main.css" rel="stylesheet" type="text/css">


<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>
<%
Rs.Open "select * from PersonTbl order by EditDate desc", Conn , 1 , 1
If Rs.Eof Then
%>
    <tr>
        <td height="45" colspan="11" class="td_content">暂无简历信息</td>
    </tr>
<%
Else
    CurrentPage=Clng(Request("page"))
    Rs.PageSize=15
    if CurrentPage="" Then CurrentPage=1
    if isNumeric(CurrentPage) Then CurrentPage=int(CurrentPage)
    if CurrentPage<1 Then CurrentPage=1
    if CurrentPage>rs.pagecount  Then
       CurrentPage=rs.pagecount
     End if
     if CurrentPage<=rs.pagecount and rs.pagecount>0 Then
     rs.absolutepage=CurrentPage
     End if
    i = 0
     for j=1 to rs.recordcount
%>
    <tr>
        <td class="td_content"><%=Rs("UserName")%></td>
        <td class="td_content"><%=Rs("RealName")%></a></td>
        <td class="td_content"><%=Rs("Sex")%></td>
        <td class="td_content"><%=Rs("Age")%></td>
        <td class="td_content"><%=Rs("Qualification")%></td>
        <td class="td_content"><%=Rs("JobPost")%></td>
<%
    i = i + 1
    response.Write(i)
    response.Write(j)
    response.Write("<br>")
    Rs.MoveNext
    If i >= Rs.PageSize Then Exit For-------If rs.eof then exit for改为这句为什么又可以了
    next
End if
End If
%>
</table>
<%If Rs.pagecount>1 Then%>
<% If CurrentPage > 1 Then %>
<a href="page.asp?page=<%=CurrentPage-1%>">前一页</a>&nbsp;
  <% Else %>
  首页 上页
  <% End if%>
  <%  If CurrentPage < Rs.pagecount Then %>
<a href="page.asp?page=<%=CurrentPage+1%>">后一页</a>&nbsp;
<% End if%>
<a href="page.asp?page=<%=rs.pagecount%>">末页</a>
<% End if%>
</p>
<p align="center">现在是第<%=CurrentPage%>页一共有<%=rs.pagecount%>页</p>
<%
Rs.Close
%>

</body>
</html>
2011-03-31 08:53
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:0 
If i >= Rs.PageSize Then Exit For
这个是用计数器的,不知你算得对不对

If rs.eof then exit for
这个是判断指针位置的,也就是数据读完了就跳出,结果当然不一样

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-03-31 14:34
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
收藏
得分:0 
计数器的条数难道不等于数据读完时的条数吗
2011-03-31 15:10
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:0 
自己算下

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-03-31 17:09
ab382717036
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-19
收藏
得分:0 
我算了一下  i和j输出的结果是一样的
2011-03-31 18:37
快速回复:do while与for循环的区别
数据加载中...
 
   



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

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