2010-03-29 4 views
1

В базе данных есть поле, которое сохраняет дату закрытия. Эта дата может быть NOT NULL, только если случай был закрыт. Если случай не закрыт, он должен быть NULL. Как передать значение null объекту DateTime?Как передать значение null как значение DateTime?

Пробовал это, но он не работает.

DateTime closure= dateDatumIspisa.SelectedDate ?? null; 
DateTime closure= dateDatumIspisa.SelectedDate ?? DateTime.Parse(""); 
DateTime closure= dateDatumIspisa.SelectedDate ?? DBNull.Value; 
DateTime closure= dateDatumIspisa.SelectedDate ?? DateTime.Parse(DBNull.Value.ToString()); 

попытался также GetValueOrDefault(), но он вставляет значение DateTime.Min, в то время как мне нужно это поле остается пустым.

Любые предложения?

ответ

1

Declare

DateTime ? closure = dateDatumIspisa.SelectedDate; 

нет необходимости здесь, чтобы использовать ?? в этой строке!

3

Просто сделайте closure a DateTime? вместо DateTime. Весь смысл Nullable<T> состоит в том, чтобы сделать тип с нулевым значением из неэлементного.

Теперь вы не указали тип SelectedDate - но если это уже DateTime?, то вам не нужно использовать ??. Just:

DateTime? closure= dateDatumIspisa.SelectedDate; 

Насколько вы знакомы с типами значений с нулевым значением в целом? Возможно, вы захотите прочитать на MSDN coverage of them.

Смежные вопросы