Ненужные значения в отчете за дату

#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}))

Надеюсь, это поможет.