当我使用下面的代码之一时,我的代码工作正常但是当我添加另一个代码时,它的结果没有显示出来。当EOF在同一页面上运行两次时,它似乎无法工作。如果有人可以提供帮助,那将不胜感激。
<% while (NOT con.EOF) %>
CODE HERE
<%con.MoveNext()
Wend %>
代码:
<% if not con.BOF then %>
<div style="margin-top:1em">
<form action="dbresults.htm" method="get">
<p>Company name:<br/>
<select name="abn">
<option label="All companies" value="all"></option>
<% while (NOT con.EOF) %>
<option label="<%=con("legal")%>" value="<%=con("abn")%>"></option>
<%con.MoveNext()
Wend %>
</select>
</p>
<p>Categories for Creative Design:<br/>
<select name="cat">
<option label="All categories" value="all"></option>
<option label="Strategic brand, marketing and communications advice" value="a"></option>
<option label="Graphic design and layout" value="b"></option>
<option label="Forms design" value="c"></option>
<option label="Web design and development" value="d"></option>
<option label="Authoring services" value="e"></option>
<option label="Editorial services" value="f"></option>
<option label="Translation services" value="g"></option>
<option label="Photography and film services" value="h"></option>
<option label="Scanning and digitisation services" value="i"></option>
<option label="Multimedia editing services" value="j"></option>
</select>
</p>
<input type="submit" value="Search" />
</form>
<br /><hr />
<table style="font-size:.9em;" class="contentTable">
<tr>
<th>ABN:</th>
<th>Company Name:</td>
</tr>
<% while (NOT con.EOF) %>
<tr>
<td><%=con("abn")%></th>
<td><a href="dbcomp.htm?abn=<%=con("abn")%>&cat=all">
<%=con("legal")%></a></td>
</tr>
<%
con.MoveNext()
Wend
%>
</table>
</div>
<% else %>
<p>No records match your query.</p>
<p><a href="dbtest.htm">Return to search page</a></p>
<%
end if
con.close
%>
答案 0 :(得分:3)
在您的第一个WHILE循环(while (NOT con.EOF)
)之后,您的记录集保留在EOF,因此您的第二个循环将不会执行任何操作。您需要在第二次循环之前将光标重新定位到记录集中。使用con.MoveFirst()
,con.MovePrevious()
等重新定位。
答案 1 :(得分:1)
如果要迭代相同的记录集,则在完成第一个循环后需要con.MoveFirst()
。