Asp classic 直到Recordset.Eof未按预期工作为止(ASP经典版)

Asp classic 直到Recordset.Eof未按预期工作为止(ASP经典版),asp-classic,vbscript,Asp Classic,Vbscript,我有一个活动服务器页面,显示当天的预订情况 使用该代码,我从数据库中获取信息: Do Until Recordset.Eof rsRaum.open "select raum_id, KOPPELBESTUHLUNG_ID from RESERVIERUNGRAUM where buchung_id = " & Recordset("buchung_id"), Connection raum_id = rsRaum("raum_id")

我有一个活动服务器页面,显示当天的预订情况

使用该代码,我从数据库中获取信息:

Do Until Recordset.Eof



      rsRaum.open "select raum_id, KOPPELBESTUHLUNG_ID from RESERVIERUNGRAUM where buchung_id = " & Recordset("buchung_id"), Connection
            raum_id = rsRaum("raum_id")
            KOPPELBESTUHLUNG_ID = rsRaum("KOPPELBESTUHLUNG_ID")
      rsRaum.close


      rsRaum.open  "SELECT NAME, FIRMA FROM TEILNEHMER WHERE BUCHUNG_ID =" & Recordset("buchung_id") & "and STATUS = 2 and DAILYPLAN = 1" , Connection
             if not rsRaum.EOF then
                    TeilnehmerNameExtern = rsRaum("NAME")
                    TeilnehmerFirmaExtern = rsRaum("FIRMA")
             end if
      rsRaum.close




      ' hole Raum Details
      rsRaum.open "select bezeichnung from Raum where ID = " & raum_id, Connection

          raumname = rsRaum("bezeichnung")

      rsRaum.close



    Recordset.MoveNext
    Loop
到目前为止,它运行良好。我唯一的问题是那部分:

rsRaum.open  "SELECT NAME, FIRMA FROM TEILNEHMER WHERE BUCHUNG_ID =" & Recordset("buchung_id") & "and STATUS = 2 and DAILYPLAN = 1" , Connection
             if not rsRaum.EOF then
                    TeilnehmerNameExtern = rsRaum("NAME")
                    TeilnehmerFirmaExtern = rsRaum("FIRMA")
             end if
      rsRaum.close
我的问题是:

我有一个预约,我指定了三个参与者(TEILNEHMER)。但是如果我试图显示参与者,ASP只显示我分配给该预订的三个参与者中的一个

我应该怎么做才能让所有分配到该预订的参与者参与?我是否也必须循环使用这部分代码?我试过了,但没有效果

有人能帮我吗

编辑:

rsRaum.open  "SELECT NAME, FIRMA FROM TEILNEHMER WHERE BUCHUNG_ID =" & Recordset("buchung_id") & "and STATUS = 2 and DAILYPLAN = 1" , Connection
         if not rsRaum.EOF then



         do while not rsRaum.eof


                TeilnehmerNameExtern = rsRaum("NAME")
                TeilnehmerFirmaExtern = rsRaum("FIRMA")  

             rsRaum.movenext

          loop

         end if
  rsRaum.close

因为你可能会有不止一个teilnehmer,所以你当然必须循环使用这个记录集。否则,您将只获得第一条记录

我编辑了我的问题。我试图在更新的问题中循环,但仍然只得到第一条记录。我做错了什么?@Paks你怎么知道你只得到了第一张唱片?rsRaum.recordcount=1吗?是的,我做了一个响应。从recordcount写入,它返回1。我不知道为什么,我也不知道为什么,因为我不知道你的数据库模式。但是很明显,您的sql语句就是问题所在。在我看来,buchun_id是主键?所以sql总是只返回一条记录……就像您没有更多状态为2且DAILYPLAN为1的teilnehmer一样