0

我没有使用 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”语句有关,但我不知道如何解决它。

任何帮助是极大的赞赏!

4

2 回答 2

0

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

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
于 2013-02-20T20:19:10.117 回答
0

很高兴你解决了你的问题,我可以建议一个 case 语句而不是 if else 语句:)

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"
于 2013-02-21T06:57:18.417 回答