2010-10-05 2 views
0

Comment pouvons-nous gérer le cas où une date est vide dans la méthode DateDiff? Exemple:Comment gérer DateDiff si une date est vide?

DateDiff(DateInterval.Day, CType(txt61_2.Text, Date), CType(txt21_2.Text, Date)) 

Dans les champs de déclaration ci-dessus txt61_2.Text ou txt21_2.Text peut être vide puis prendre a 0

S'il vous plaît laissez-moi savoir comment gérer cela?

+0

Pourquoi l'une des deux dates peut-elle être nulle ou vide, et qu'essayez-vous d'accomplir? Vous pouvez simplement utiliser une instruction If pour savoir si la date est nulle et, si c'est le cas, définir une date min ou max, comme suggéré par @rerun, mais est-ce une solution appropriée? – Curt

Répondre

0

Il n'y a pas de conversion par défaut de "" vers un datetime, de sorte qu'une exception InvalidCastException se produit. Il n'y a aucun moyen de "gérer" cet événement car il doit être défini par votre logique métier. En supposant que vous l'utilisez dans un champ de recherche, vous pouvez faire quelque chose comme ça.

if(string.isnullorempty(txt21_2.Text))then 
    date1 = DateTime.MaxValue; 
end if 
0

Je suggère regarder DateTime.TryParse/DateTime.Parse et la manipulation des exceptions lancées en vous la logique métier comme le dit réexécution.

Questions connexes