Страница 1 из 1
Ошибка на обработке IsDBNull(DateTime)
Добавлено: 05 дек 2012, 13:10
mbondarev
Добрый день!
У меня в отчете есть поле с типом DateTime, которое может быть не заполнено (DBNull). Мне необходимость вывести текст "Пусто" если в этом поле нет даты.
Использую следующее выражение :
Код: Выделить всё
{select1.Date == null || System.Convert.IsDBNull(select1.Date) ? "Пусто" : Format("{0:dd.MM.yyyy}", select1.Date)}
В результате для строк с заполненной датой все отображается корректно, а для остальных - выводится пустая строка, хотя должно быть "Пусто".
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 05 дек 2012, 16:22
HighAley
Здравствуйте.
Вы можете использовать свойство "Показывать вместо нулевых значений".
- IfNullRus.png (39.72 КБ) 4023 просмотра
Спасибо.
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 25 дек 2012, 16:53
mbondarev
Добрый день!
Все-таки, мне кажется, что это ошибка. И было бы хорошо исправить ее, тк в некоторых отчетах необходимо производить обработки полей на isdbnull. Например, когда печатаем какой-либо договор пропадает целый пункт.
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 26 дек 2012, 09:49
HighAley
Здравствуйте.
Пришлите, пожалуйста, шаблон отчёта с данными, чтобы мы смогли воспроизвести данную проблему.
Спасибо.
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 27 дек 2012, 10:42
mbondarev
проект во вложении
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 27 дек 2012, 12:21
mbondarev
забыл написать, что нужно нажимать кнопку "Print"
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 27 дек 2012, 12:23
HighAley
Здравствуйте.
При обращении к DataSource.Field вы получаете значение, приведённое к нужному типу, а в данном случае следует обращаться именно в объекту базы данных.
Поэтому вам следует использовать следующее выражение:
Код: Выделить всё
{System.Convert.IsDBNull(select1["Date"]) ? "Пусто" : Format("{0:dd.MM.yyyy}", select1.Date)}
так как в первоначальном варианте вы проверяли уже приведённое значение.
Спасибо.
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 27 дек 2012, 13:32
mbondarev
Спасибо, помогло!
Re: Ошибка на обработке IsDBNull(DateTime)
Добавлено: 27 дек 2012, 14:29
HighAley
Здравствуйте.
Рады вам помочь.
Спасибо.