Почему isNULL возвращает пустую строку в vbScript с параметризованным запросом

0

Я подключаюсь к базе данных с этим запросом -

myCMD.commandtext = "select customer_reviews.meta_title, customer_reviews.meta_description from customer_reviews внутреннее соединение клиентов на customer_reviews.customer_id = customers.id, где customers.id =? limit 1" myCMD.Parameters.Append myCMD.CreateParameter("@customerID", adInteger, adParamInput, 10, запрос ("клиент")) myRS = myCMD.execute

Тогда у меня есть этот код:

если Not isNULL (myRS ("meta_title")) или myRS ("meta_title") <> "" Тогда page_meta_title= myRS ("meta_title") заканчивается, если

если Not isNULL (myRS ("meta_description")) или myRS ("meta_description") <> "" Затем page_meta_description = myRS ("meta_description") заканчивается, если

Оба поля имеют строковое значение. Параметр page_meta_title заполнялся нормально, но page_meta_description всегда возвращал пустую строку - когда я знаю, что она не была пустой.

Посмотрев на базу данных, я заметил, что первое поле было типа varChar, а второе - Text. Я изменил тип данных Text на varchar, и он работал, возвращая значение параметру.

Если моя отладка правильная, то поле типа Text не работает с isNULL?

  • 0
    Прошу прощения, я хотел написать переменную page_meta_title, а не параметр
Теги:
asp-classic
vbscript

1 ответ

0

Оказалось, когда, если я впервые добавлю это -

myMetaTitle = myRS("meta_title").value
myMetaDescription = myRS("meta_description").value
myKeywords = myRS("meta_keywords").value

Затем выполнялись мои условные операторы, которые работали независимо от varchar или текстового поля

Ещё вопросы

Сообщество Overcoder
Наверх
Меню