Как проверить пустой результат SQL в ASP

Я выполняю запрос из ASP с помощью базы данных MySQL, я хочу создать переменную (ssResult) на основе результата с именем человека (полное имя), если запись не существует, я хочу назначить текст «N / A» в переменную, код ниже, в настоящее время я использую функцию getOther для своих подключений к базе данных, которая передает имя столбца "fullname":

ssResult = getOtherElse("SELECT fullname FROM table WHERE id = " & inArr(j), "fullname")

Ниже приведен код функции getOtherElse, которая работает только тогда, когда возвращается результат, но не когда есть пустой результат:

Function getOtherElse(inSQL, getColumn)
    Dim conn, rstemp
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open myDSN
    Set Session("lp_conn") = conn
    Set rstemp = Server.CreateObject("ADODB.Recordset")
    rstemp.Open inSQL, conn 
    if not rstemp.eof then
        rstemp.movefirst
        getOtherElse=rstemp.fields(getColumn)
    else
        getOtherElse = "N/A"
    end if
    rstemp.close
    set rstemp=nothing
    conn.close
    set conn=nothing
End Function

Спасибо!

Этот код уязвим для внедрения sql

Joel Coehoorn 02.12.2011 00:15
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
2
1
4 728
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Почему бы не изменить SQL, чтобы вывести результат только с именем, в этом случае применимо «N / A»:

sResult = getOtherElse("SELECT fullname FROM table WHERE id = " & inArr(j), "fullname AND fullname<>''")

Не существует имени столбца "полное имя И полное имя" ""

Nick Berardi 25.11.2008 17:19

Извините, должно было быть полное имя <> '' угловые скобки не вышли в сообщении

Katy 25.11.2008 18:09

Замените этот блок кода:

if not rstemp.eof then
    rstemp.movefirst
    getOtherElse=rstemp.fields(getColumn)
else
    getOtherElse = "N/A"
end if

с этим блоком кода:

Dim output
output = "N/A"

If Not rstemp.eof Then
    rstemp.movefirst
    value = rstemp.fields(getColumn)

    If trim(value) = "" Then
        value = "N/A"
    End If
End If

getOtherElse = value

Приведенный выше код всегда предполагает, что ничего не возвращается, пока соединение не установит его как возвращаемое. Затем значение проверяется на наличие пустой строки и устанавливает значение также как «N / A».

Ответ принят как подходящий

Вы можете попробовать изменить строку

if not rstemp.eof then

с

if rstemp.RecordCount > 0 then

Другие вопросы по теме