Datetime.parseexact et textbox, probleme code

manue514 Messages postés 10 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 4 juin 2009 - 18 mai 2009 à 17:09
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 - 19 mai 2009 à 10:22
Bonjour,

J'ai un soucis avec mon code, j'aimerai contrôler la saisie de la
date saisie en entrée (dans une textbox), qui est ensuite insérée dans une base de
données mysql. Mais le problème c'est qu'avec mon code là, j'ai un
message d'erreur quand le format est bon, et rien quand le format est
mauvais...

Une petite aide serait la bienvenue.

merci

Manue

[code]

if (this.t_datefin.Text!="")

try

{

DateTime.ParseExact(t_datefin.Text, "dd MM yyyy", new System.Globalization.CultureInfo("fr-FR", true));

}

catch

{

F106_Erreur Err = new F106_Erreur("Le format doit être JJ/MM/AAAA.");

Err.Show();

datefin=t_datefin.Text;

}

else ....

[http://www.commentcamarche.net/code /code]

3 réponses

WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
18 mai 2009 à 20:24
Salut,

Si tu mets "dd MM yyyy" dans ton ParseExact, alors 18/05/2009 ne sera pas valide.
Pourquoi tu n'utilises pas un DateTimePicker?
manue514 Messages postés 10 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 4 juin 2009
19 mai 2009 à 09:14
Bonjour, merci pr ta réponse, pourquoi dd MM yyyy ne sera pas valide ? à cause des slash ? ça ne change rien apparement
Pour le datetimepicker en fait la date peut être nule ou remplie et cette fonction ne le permet pas à priori...

Manue
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
19 mai 2009 à 10:22
Salut,

Le principe de ParseExact, comme son nom l'indique, est qu'il essaie de créer une date avec le format exact que tu lui passe en paramètre.

http://msdn.microsoft.com/fr-fr/library/w2sa9yss(VS.80).aspx

"Le format de la chaîne doit correspondre exactement au format spécifié.
"

Donc 18 05 2009 est valide, mais pas 18/05/2009

Tu peux utiliser la propriété ShowCheckBox du datetimepicker pour permettre à l'utilisateur de choisir une date ou non.  Sinon si tu ne veux pas cette méthode, il y a des contrôles sur le net qui permettent d'avoir une date remplie ou non.
Rejoignez-nous