2010-03-29 78 views
1

在數據庫中有一個保存結束日期的字段。只有在案件被關閉的情況下,該日期纔可以不爲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

申報

DateTime ? closure = dateDatumIspisa.SelectedDate; 

在這裏沒有必要使用?在這一行!

3

只是使closure a DateTime?而不是DateTimeNullable<T>的全部要點是從一個不可爲空的類型構造一個可爲空的類型。

現在,您還沒有顯示SelectedDate的類型 - 但是如果它已經是DateTime?,那麼根本不需要使用??。只是:

DateTime? closure= dateDatumIspisa.SelectedDate; 

您對可空值類型的一般熟悉程度如何?您可能需要閱讀MSDN coverage of them