Передача нулевого datetime классу параметров отчета? - PullRequest
1 голос
/ 14 декабря 2010

Как я могу поставить нулевое значение в типе переменной datetime?

Я пытался сделать это значение равным нулю, но мне нужно использовать его в методе ReportParameter(), чтобы отправить его в мой отчет, но ReportParameter()конструктор не может принимать значение NULL, а ReportParameter () принимает только строковые значения!

Ответы [ 2 ]

1 голос
/ 12 июня 2018

Различные перегрузки конструктора для ReportParameter принимают только строку или массив строк в качестве допустимого ввода.

ReportParameter Constructor

А само свойство ReportParameter.Values на самом деле является StringCollection, чтобы заставить сериализацию происходить во время компиляции.

ReportParameter Properties

Но вы можете передать нулевое значение с типизацией строки для этой темы на Передача параметра NULL со страницы aspx на сервер отчетов следующим образом:

var rp = new ReportParameter("ServiceType_cd", new string[] { null });

Или по этому вопросу Средство просмотра отчетов: Установите нулевое значение в Параметры отчета, разрешив null true , вы можете передать значение, подобное этому:

string str = null;
var rp = new ReportParameter("ServiceType_cd", str));
1 голос
/ 14 декабря 2010

Вы можете создать метод расширения FailIfNull () для этой цели. Пожалуйста, посмотрите здесь для получения дополнительной информации о методах расширения.

...