2009-03-13 9 views
2

Je souhaite transmettre une valeur null pour une variable DateTime en C#. La valeur doit être stockée dans la base de données en tant que null.DateTime Variable

J'ai essayé d'utiliser Datetime.Minvalue, mais cela stocke une valeur par défaut. Il doit être nul dans la base de données. Comment je fais ça?

Répondre

10

Utilisation DateTime? comme dans

DateTime? foo = null; 

Cela fait une nullableDateTime:

Un type Nullable peut représenter la plage normale des valeurs pour son type de valeur sous-jacente, plus un valeur nulle supplémentaire.

puis lors de l'écriture de la valeur, vous pouvez utiliser la valeur comme ceci:

if(foo == null) 
{ 
    // Handle the null case 
} 
else 
{ 
    // Handle the non-null case 
} 
1

Vous pouvez utiliser DateTime? le type de valeurs. Il peut avoir null valeurs, mais sinon il est tout à fait la même chose que DateTime

+0

ah vous êtes quelques secondes trop tard. – Sung

+0

@Sung: Le pistolet le plus rapide dans le syndrome ouest: -/ –

+0

@Daniel: Quand j'ai rafraîchi la page, l'horodatage dit, il y a 2 secondes, mais j'ai déjà vu 2 réponses – Sung

5

Je suis d'accord avec la réponse de type Nullable, mais quand vous allez l'écrire à la base de données, vous devez toujours tester null et le convertir en DBNull.Value .