2009-07-25 7 views
1

J'ai un formulaire Web (.aspx) qui a une zone de texte. Mon utilisateur peut entrer une valeur dans la zone de texte en tant que date perse. que dois-je faire convertit texbox.text en DateTime. Mais parfois, la zone de texte n'a pas de texte à l'intérieur et donc je devrais m'en occuper et retourner null.Comment envoyer DateTime ou DbNull à DB en utilisant C#?

lorsque je retourne null comment puis-je insérer null (C#) dans DB?

+1

quelle technologie utilisez-vous? DataSets? LINQ à SQL? Cadre d'entité? –

+0

J'utilise la programmation ADO.NET – odiseh

Répondre

4

Tout dépend de la façon dont vous faites votre accès aux données ... à la main?

Si oui; il y a deux façons courantes de passer un nul DateTime autour; l'original devait utiliser DateTime.MinValue pour signifier null; la seconde est d'utiliser Nullable<DateTime> (aka DateTime?) pour passer la date. Ensuite, dans votre DAL vous détectera et passez à DBNull.Value:

if(someDate == DateTime.MinValue) { // or "== null" for Nullable<DateTime> 
    dateParam.Value = DBNull.Value; 
} else { 
    dateParm.Value = someDate; 
} 

Avec l'approche LINQ to SQL, le Nullable<DateTime> devrait "juste".

Questions connexes