Salut à tous,
Dans mon application je gère des dates et pour que le format de la date soit toujours bon, je me suis dis que j'allais faire confiance à FormatException et à DateTime.Parse()
Le problème est que le format de date géré par DateTime.Parse() est bizarre. La date suivante est jugée comme correct : 14.05.008 et ne renvoie donc aucune exception.
Le code C#
Donc je me suis dis, je vais sur SQL-Server juste pour voir si j'ai le droit à cette même bizarrerie tout droit sortie de derrière les fagots
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 try { if (date.Value.Trim().Length != 0) { DateTime.Parse(date.Value); } } catch (FormatException fe) { LblSqlErreur.Text = fe.Message; boException = true; }:
Evidemment ça ne marchait et j'ai eu le droit à cette belle erreur : La conversion d'un type de données CHAR en type DATETIME a donné une valeur hors limite de date et d'heure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT CAST('14.05.008' AS DATETIME) AS date
Voilà comment les étapes se suivent :
Page aspx : qui a un champ de recherche sur la date, si un enregistrement existe dans la base de données correspondant au critère saisi celui-ci est affiché.
Codebehind : bloc try - catch englobant une condition qui teste que la date ne soit pas vide. On parse la date à l'aide de DateTime.Parse(), si une exception est levée on affiche le message d'erreur et on met la variable boException à true. Après le bloc try - catch une condition qui teste si boException est à true on ne peut pas poursuivre notre recherche, sinon on exécute une méthode nous renvoie une chaine de caractère à affecter au SqlDataSource qui est le suivant :
Là, j'ai une SqlException lors du remplissage de mon GridView que je n'arrive pas à récupérer. Evidemment le message d'erreur renvoyé est le même que cité en rouge plus haut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SqlSourceRapport.SelectCommand = myCreation.rechercheRapport(DropDownListClient.SelectedValue, DropDownListRapport.SelectedValue, date.Value, etat);
Quelqu'un aurait-il une idée sur la manière de procéder pour récupérer cette exception ?
Merci pour votre aide.
Partager