Проверка на NULL
Проверка на NULL
Добрый день! Подскажите пож. как в генераторе отчетов можно задать условие на проверку поля с типом BLOB(в базе данных MySQL) на NULL?
Re: Проверка на NULL
Здравствуйте,
Пожалуйста, попробуйте использовать следующее выражение:
DataSource["ColumnName"] == DBNull.Value
Спасибо.
Пожалуйста, попробуйте использовать следующее выражение:
DataSource["ColumnName"] == DBNull.Value
Спасибо.
Re: Проверка на NULL
При использовании DBNull.Value при построении отчета возникает ошибка
Report Rendering Message. PicD Parser error: The name 'DBNull' does not exist in the current context
Я попробовал использовать просто Null вместо DBNull.Value {Switch(DetailData.PicD != Null, DetailData.PicD)} и выражение сработало. Но насколько правомерно такое использование? Спасибо.
Report Rendering Message. PicD Parser error: The name 'DBNull' does not exist in the current context
Я попробовал использовать просто Null вместо DBNull.Value {Switch(DetailData.PicD != Null, DetailData.PicD)} и выражение сработало. Но насколько правомерно такое использование? Спасибо.
Re: Проверка на NULL
Здравствуйте.
Если работает, то можно использовать
Спасибо.
Если работает, то можно использовать
Спасибо.
Re: Проверка на NULL
Здравствуйте, сейчас использую версию 2016.3.6 и на ней условие на null не работает(на версии 2015 года работало вроде как). Следующее выражение {IIF(Master_Data.CU_Phone_Code == null,"YES","No")} всегда возвращает No. Попытки записать условие с DBNull.Value также не привели к успеху. Поле CU_Phone_Code самое обычное текстовое поле. Подскажите пож. варианты решения или это баг, который нужно соответствующе оформить? Спасибо.
Re: Проверка на NULL
Здравствуйте.
Используйте такое выражения для проверки на null
Используйте такое выражения для проверки на null
Код: Выделить всё
{IIF(Master_Data["CU_Phone_Code"] == null,"YES","No")}
Re: Проверка на NULL
Здравствуйте. Перепробовал все варианты. С условием на null не работает ни один.Сделал вывод поля, в котором в качестве значения является null, следующим образом {"#"+Master_Data.CU_Phone_Code+"#"}. При построении отчета получил ##.
Изменил условие с NULL на
{IIF(Master_Data["CU_Phone_Code"] == "","YES","No")} и {IIF(Length(Master_Data["CU_Phone_Code"]) == 0,"YES","No")}
В результате получил желаемое в обоих случаях "YES". Но пустое значение и значение null все таки разные понятия.
Нашел в Report setup опцию Convert Nulls(флажок отмечен или снят). Но его использования в обоих положениях на условия с nullне дали никакого результата.
Хотелось бы узнать мнение разработчиков, какова все таки логика(политика) использования NULL в генераторе отчетов.
Спасибо.
Изменил условие с NULL на
{IIF(Master_Data["CU_Phone_Code"] == "","YES","No")} и {IIF(Length(Master_Data["CU_Phone_Code"]) == 0,"YES","No")}
В результате получил желаемое в обоих случаях "YES". Но пустое значение и значение null все таки разные понятия.
Нашел в Report setup опцию Convert Nulls(флажок отмечен или снят). Но его использования в обоих положениях на условия с nullне дали никакого результата.
Хотелось бы узнать мнение разработчиков, какова все таки логика(политика) использования NULL в генераторе отчетов.
Спасибо.
Re: Проверка на NULL
Здравствуйте.
Пример отчета для проверки на null;
Пример отчета для проверки на null;
- Вложения
-
- null.mrt
- (5.07 КБ) 722 скачивания
Re: Проверка на NULL
Здравствуйте! В общем результат с использованием null неизменный и для Вашего примера. Колонки с null обрабатываются по прежнему как пустые строки.
Но удалось найти причину, по которой такое происходит.
Дело в использовании движка для построения отчетов, который устанавливается в файле stimulsoft.properties
при Engine.Type=Flex все выше перечисленные условия не работают с null, точнее работают как с пустой строкой.
А вот при использовании Engine.Type=Java все работает корректно, как показано в примере.
P.S. Писать на это отдельный баг или достаточно упоминания на форуме?
Спасибо.
Но удалось найти причину, по которой такое происходит.
Дело в использовании движка для построения отчетов, который устанавливается в файле stimulsoft.properties
при Engine.Type=Flex все выше перечисленные условия не работают с null, точнее работают как с пустой строкой.
А вот при использовании Engine.Type=Java все работает корректно, как показано в примере.
P.S. Писать на это отдельный баг или достаточно упоминания на форуме?
Спасибо.
Re: Проверка на NULL
Здравствуйте,
Спасибо за детальное описание проблемы.
Необходимо дополнительное время для анализа.
Спасибо.
Спасибо за детальное описание проблемы.
Необходимо дополнительное время для анализа.
Спасибо.