2010-03-29 4 views
1

Dans une base de données, il existe un champ qui enregistre une date de fermeture. Cette date peut être NOT NULL seulement si l'affaire a été fermée. Si le cas n'est pas fermé, il doit être NULL. Comment puis-je transmettre une valeur nulle à un objet DateTime?Comment faire pour passer null comme valeur DateTime?

Essayé cela mais cela ne fonctionne pas.

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()); 

également essayé GetValueOrDefault() mais il insère la valeur DateTime.Min, alors que je besoin de ce champ reste vide.

Des suggestions?

Répondre

1

Declare

DateTime ? closure = dateDatumIspisa.SelectedDate; 

pas besoin ici d'utiliser le ?? dans cette ligne!

3

Faites simplement closure un DateTime? au lieu d'un DateTime. Le point entier de Nullable<T> consiste à rendre un type nullable à partir d'un type nullable.

Maintenant, vous n'avez pas montré le type de SelectedDate - mais si c'est déjà un DateTime? alors vous n'avez pas du tout besoin d'utiliser ??. Just:

DateTime? closure= dateDatumIspisa.SelectedDate; 

À quel point connaissez-vous les types de valeurs NULL en général? Vous pourriez vouloir lire sur le MSDN coverage of them.

Questions connexes