经典ASPdo while,提前进入下一个循环

Classic ASP do while, move to next loop in advance

我想知道是否有任何方法可以在 do until 循环中比其普通循环终点更早地重新开始。

试图解释我想要什么的非工作示例:

do until RS.eof
  ...
amount = RS("product_amount")
response.write(amount)
if amount > 5 then
    rs.movenext
    loop
end if
  ...
rs.movenext
loop

... 表示更多代码。

是的,我知道我可以在底部代码周围放置一个 if 标记以跳到结束循环,但我想尝试在没有大量嵌套 if 语句的情况下尽可能保持它的简洁。

只是反转你的条件。在 IF END IF 代码中执行您的操作,并在条件为假后继续。

do until RS.eof
      ...
    amount = RS("product_amount")
    response.write(amount)
    if not (amount > 5) then
        ...
    end if

    rs.movenext
loop

没有。您唯一可以使用的是 Exit Do,它将完全退出 do。您将不得不依靠 if...then 来像您目前所做的那样将事物分开。