找不到asp/sql多个记录集记录

找不到asp/sql多个记录集记录,sql,asp-classic,recordset,Sql,Asp Classic,Recordset,我没有ASP或SQL方面的经验,但被赋予了为我的组织重新创建/改进工具的任务。该工具根据邮政编码搜索两种产品的可用性。我需要使用单独的查询搜索两个表,并显示两组结果。 (每个表都包含一个名为“zip”的列,需要单独处理,因此我无法使用联接。) 看起来我已经成功地创建了这两个记录集,而且在大多数情况下,我会收到两个查询的结果。我遇到的问题是,当第一个查询没有找到记录时,第二个查询似乎没有运行 以下是处理第一次查询结果的代码: if ors.EOF then response.write("not

我没有ASP或SQL方面的经验,但被赋予了为我的组织重新创建/改进工具的任务。该工具根据邮政编码搜索两种产品的可用性。我需要使用单独的查询搜索两个表,并显示两组结果。 (每个表都包含一个名为“zip”的列,需要单独处理,因此我无法使用联接。)

看起来我已经成功地创建了这两个记录集,而且在大多数情况下,我会收到两个查询的结果。我遇到的问题是,当第一个查询没有找到记录时,第二个查询似乎没有运行

以下是处理第一次查询结果的代码:

if ors.EOF then
response.write("not found")

else if ors("flag") = 1 then
response.write("flag is 1")

elseif ors("flag") = 2 then
response.write("flag is 2")

elseif ors("flag") = 3 then
response.write("flag is 3")

else
response.write("something else")

end if
下面是第二个的代码:

if ors2.EOF then
response.write("not found")

else
response.write("found")

end if
它一定和“if ors.EOF then”语句有关,但我不知道如何解决它


非常感谢您的帮助

查看上面的代码,您的if/elseif逻辑是否不正确?当第一次查询没有记录时,您是否看到第二次查询打印的内容?您的代码可能是这样编译的:

if ors.EOF then
   response.write("not found")
else 
   if ors("flag") = 1 then
      response.write("flag is 1")
   elseif ors("flag") = 2 then
      response.write("flag is 2")
   elseif ors("flag") = 3 then
      response.write("flag is 3")
   else
      response.write("something else")
   end if

   if ors2.EOF then
      response.write("not found")
   else
      response.write("found")
end if

很高兴您解决了您的问题,我可以建议您在if-else语句中添加一个case语句吗:)


你能发布更多的代码吗?除了“else if”这个我认为是复制过去的错误之外,我没有看到上面代码有任何明显的错误。不,这是一个实际的输入错误,修复它解决了问题。非常感谢你发现了这一点!我已经在下面贴出了答案——祝你好运!
if ors.EOF then
  response.write "not found"
else
  select case ors("flag")
    case 1,2,3 : response.write "flag is " & ors("flag")
    case else  : response.write "something else"
  end select
end if

if ors2.EOF then response.write "not found" else response.write "found"