2013-02-20 5 views
0

Я не знаком с ASP или SQL, но мне была дана задача воссоздать/улучшить инструмент для моей организации. Инструмент ищет доступность для двух продуктов на основе почтового индекса. Мне нужно искать две таблицы, используя отдельные запросы и отображать два набора результатов. (В таблицах есть столбец с именем «zip», который нужно обрабатывать отдельно, поэтому я не мог использовать соединение.)asp/sql несколько записей записи не найден

Похоже, что я успешно создал два набора записей и, в большинстве случаев я получаю результаты для обоих запросов. Где я столкнулся с проблемами, когда записи для первого запроса не найдены, вторая, похоже, не запускается.

Вот код для обработки результатов с первого запроса:

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 

Он должен иметь что-то делать с «если ПРС .EOF then ", но я не могу понять, как обойти его.

Любая помощь очень ценится!

+0

Вы можете разместить больше коды - Я не вижу никаких очевидных ошибок с указанным выше кодом, кроме «else if», который, как я полагаю, был прошлой ошибкой? – sgeddes

+0

Нет, это была настоящая опечатка, и она решила проблему. Большое вам спасибо за то, что заметили! –

+0

Я написал ответ ниже - с наилучшими пожеланиями! – sgeddes

ответ

0

Глядя на свой код выше, может ли ваша ошибка if/else, если логика неверна? Когда в вашем первом запросе нет записей, видите ли вы что-нибудь напечатанное с вашего второго? Это может быть возможно, что ваш код компилирует как таковые:

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 
0

Рад, что вы фиксированные вашу проблему, я мог бы предложить тематическое заявление над, если другим заявлением :)

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" 
Смежные вопросы