#c# #reporting-services #crystal-reports
#c# #службы отчетов #crystal-отчеты
Вопрос:
В моей таблице «Транзакции» есть поле с именем FromDate
(DateTime). Значение базы данных под FromDate
сохраняется как 25 августа 2011 00:00:00.
После подключения моего веб-сервиса к отчету и перетаскивания FromDate
поля в отчет отображается мусорное значение, такое как 1 Jan-4713
. Данные в серверной части верны, неверен только предварительный просмотр. Как я могу это решить?
Комментарии:
1. Это SSRS или Crystal?
2. какой тип данных получается для поля при перетаскивании в отчет? Также, когда вы щелкаете правой кнопкой мыши по полю и в настройках, какой формат даты и времени выбран по умолчанию
Ответ №1:
Некоторое время назад я имел дело с чем-то подобным. Наш симптом был не совсем таким, но я думаю, что решение может быть и вашим.
В crystal создайте формулу:
Date(Year({table.FromDate}), Month({table.FromDate}), Day({table.FromDate}))
Затем перетащите их в качестве своего столбца.
Аналогично вы можете сделать это для DateTime:
DateTime(Year(), Month(), Day(), Hour(), Minute(), Second())
Я обнаружил, что crystal не согласен с тем, как наша база данных хранит даты / datetimes, но она все равно может обрабатывать их по частям, если вы их определите. Это может устранить множество проблем, связанных с датой. Одним из примеров может быть, если вы хотите показать результаты в течение определенного периода времени.
Это привело меня к ошибкам:
{?StartDate} >= {table.FromDate}
Но это не:
{?StartDate} >= Date(Year({table.FromDate}), Month({table.FromDate}), Day({table.FromDate}))
Надеюсь, это поможет.