旅行社设立申请书模板:ASP FOR循环嵌套的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 08:28:54
简化了一下,大概是这样的一段语句:
<%for i=1 to rs.PageSize
if rs.eof then exit for%>
<tr>
<%for j=1 to 2%>
<td><%=rs("title")%><td>
<%rs.movenext
next%>
<tr>
<next%>

这样一段大循环显示数据库里的记录,然后用一个内循环让数据在一行里分两列显示.
但是这样的话,如果数据库里的记录为奇数的时候,出错.因为循环是两个数据为一行的.请问怎么解决?
不甚感激!
就是这样的一个结果:

记录1 记录2
记录3 记录4
记录5 记录6
......

如果我只能5条记录,就出错了

呵呵,还不简单
当你条数为奇数的时候就会在
<%for j=1 to 2%>
<td><%=rs("title")%><td>
<%rs.movenext
next%>
这个里面发生错误...

为什么?我告诉你怎么改,你自己想为什么吧

这个地方改成:(在显示之前检查是否eof,并且在不是eof再movenext)
<%for j=1 to 2%>
<%if rs.eof = false then%>
<td><%=rs("title")%><td>
<%rs.movenext%>
<%end if%>
<%next%>

改了这个地方之后,发现你写的标签也有点问题,没有</tr>,所以这段代码完整的就是

<%for i=1 to rs.PageSize
if rs.eof then exit for%>

<tr>
<%for j=1 to 2%>
<%if rs.eof = false then%>
<td><%=rs("title")%><td>
<%rs.movenext%>
<%end if%>
<%next%>
</tr>

<%next%>

我的不是这样写的
只要识别是否偶数和结尾就行了
用一个参数好明白
两个参数就烦了
不好解决问题的

for j=1 to 3 step 2
你没怎么说清楚,要灵活运用,最好把问题写的详细点
为什么循环是两个数据为一行的?

<%for j=1 to 2%>
<td><%=rs("title")%><td>
<%rs.movenext
if rs.eof then
exit for
end if
next%>
<tr>
你试试加个exit for,我也不知道你出错是怎么说的,如果把出错贴出来,就比较好分析。

你在 <td+代码+>

判断记录集是不是已经到了末尾,是不是奇数
符合以上情况,写 colspan=2,这样不就行了

在第二个循环中添加跳出代码