#asp-classic #ado
#asp-классический #ado
Вопрос:
Первый постер и довольно новичок в программировании на ASP.
Я пытаюсь добавить функциональность, которая проверяет, является ли поле пустым, если да, возвращает заданное значение. Вот что у меня есть до сих пор:
'rsGlobalWeb is basicly declared the same as rsBackup just in a different asp file with also the db connection.
<% If rsGlobalWeb("Serial") <> "" Then
response.write("<td>" amp; rsGlobalWeb("Serial") amp; "</td>")
Else
SqlBackup = "SELECT * FROM CMDBbackup WHERE Naam_Cattools = '" amp; rsGlobalWeb("Device_name") amp; "'"
Set rsBackup = Server.CreateObject("ADODB.Recordset")
rsBackup.Open SqlBackup, dbGlobalWeb, 3
If Not rsBackup.EOF Then
If Not IsNull(rsBackup("Serial")) And (rsBackup("Serial") <> "") Then
response.write("<td>" amp; rsBackup("Serial") amp; " (backup)</td>")
Else
response.write("<td>No historical data found</td>")
End if
End if
End if
%>
Теперь о проблеме: когда в резервной базе данных есть значение, оно показывает это значение в сочетании с «(backup)» за ним. Так что все работает нормально. Проблема в том, что когда значение не найдено, оно ничего не возвращает.
Я попытался выполнить некоторые поисковые запросы Google, но, возможно, я что-то упускаю из виду. Есть мысли, что это может быть?
Заранее спасибо,
Эрик
Комментарии:
1. Сколько записей возвращается в вашем запросе? Я предполагаю, что записей нет, и в вашем коде сказано ничего не делать в этом случае.
Ответ №1:
Ваши Response.Write
операторы заключены в If Not rsBackup.EOF Then
оператор.
Ничего не будет записано, если в нем нет записей rsBackup
.
Комментарии:
1. Спасибо за быстрый ответ. Я переместил первый КОНЕЦ IF перед ELSE, и теперь он работает отлично. Миллион благодарностей за понимание.