Loops 经典ASP-执行While/Loop时有3个条件问题

Loops 经典ASP-执行While/Loop时有3个条件问题,loops,asp-classic,Loops,Asp Classic,我有一个选择: 状态-1、0和1 选择状态: SQL= "SELECT * FROM MYTABLE ORDER BY STATUS DESC" SET MYDB = conn.Execute(SQL) 我的问题: 使用DO WHiLE/LOOP将选择分为两部分 第1部分: 当然不是EOF 所有状态1(优先权和优先权寄存器限制) 限制到XX个寄存器(变量-TOTALREG) 无状态-1 **状态1为“已批准”状态,可否决登记限制 我有一间有20名学生的教室。(登记册的限额) 但我可以超额

我有一个选择:

状态-1、0和1

选择状态:

SQL= "SELECT * FROM MYTABLE ORDER BY STATUS DESC" 
SET MYDB = conn.Execute(SQL)
我的问题:

使用DO WHiLE/LOOP将选择分为两部分

第1部分:

  • 当然不是EOF
  • 所有状态1(优先权和优先权寄存器限制)
  • 限制到XX个寄存器(变量-TOTALREG)
  • 无状态-1
**状态1为“已批准”状态,可否决登记限制

我有一间有20名学生的教室。(登记册的限额) 但我可以超额预订,让全班有21、22、23名学生——状态1=批准

如果我只有15个已批准-我将完成前5个“状态0”(等待批准)的登记限制

第2部分:

  • 剩下的部分将被选中
我得到了一个部分解决方案:

DO WHILE (((NOT MYDB.EOF) AND (CINT(COUNTREG) <= CINT(TOTALREG))) OR ((NOT MYDB.EOF) AND (MYDB("STATUS") > 0 ))) AND ((NOT MYDB.EOF) AND (MYDB("STATUS") > -1 ))    
DO WHILE((非MYDB.EOF)和(CINT(COUNTREG)0))和((非MYDB.EOF)和(MYDB(“状态”)>-1))
  • 如果我们有空缺:
    (不是MYDB.EOF)和(CINT(COUNTREG)0)
  • 不包括未经批准的登记册(状态-1):
    (非MYDB.EOF)和(MYDB(“状态”)>-1)



-COUNTREG=将为循环内的每个寄存器递增(COUNTREG=COUNTREG+1)
-TOTALREG=是一个变量(教室允许的人数)

它适用于任何情况。。但是当我没有STATUS=-1的寄存器时,我得到了一个错误“80020009”


为什么??有什么想法吗?

我想你把这里的事情搞砸了。您需要使用
eof
循环通过
MYDB
读取所有数据,在循环中,您可以获取并检查返回的数据,即
状态
字段。Ola@RicardoPontual obrigado pela ajuda。因此,应自行选择认证名单。问题在于双方的利益。一个主要的利益相关者将在双方的共同努力下,在双方的共同努力下,共同努力,为双方的共同利益做出贡献。o问题和行政管理问题,请您在您的工作范围内解决。这些活动的目的是为了保护系统,使之成为“世界语”。纳塔贝拉2号酒店。在这三个条件下,所有注册人都必须遵守国际单项体育联合会的相关规定——所有注册人都必须遵守国际单项体育联合会的相关规定。我是阿乔·纳奥·特尼奥·埃斯科拉。。vai ter q ser na base do IF..我能理解,但别忘了你在Stackoverflow中,英语:)如果你愿意,我们可以在这里交谈: