Bonjour,
Voilà un bon moment que je m'évertue à essayer d'insérer un champ date et un champ heure dans une BDD MySQL 5.0. Je vous explique le problème en détails :
Voilà ce que je fais :
- J'ai une table comportant : un champ Rdate de type DATE et un champ Rtime de type TIME.
Dans mon programme je fais :
L'ennui c'est que, si l'insertion en BDD est effectuée, les champs récupérés sont ceux-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 java.sql.Date maDate = rep.getDate(); // me renvoie 2006-07-04 java.sql.Time monHeure = rep.getTime() // me renvoie 15:41:04 etc. .......... pstmt.setDate(2, maDate); pstmt.setTime(3, monHeure); etc. .......... pstmt.execute();
----------------------
| Rdate | 4 juil. 2006 | --> Ca c'est parfait
----------------------
| Rtime | 1 janv. 1970 | --> La je suis contrariée
-----------------------
D'après le manuel de référence de MySQL :
Mon problème d'heure qui se transforme en date quand elle est insérée en BDD vient il de là ?Attention à certains pièges concernant les spécifications de dates :
La syntaxe à délimiteur libre peut être une source de problème. Par exemple, une valeur telle que ‘10:11:12’ ressemble à une heure, à cause du délimiteur `‘:’', mais avec une colonne de date, elle sera interprétée comme la date ‘2010-11-12’. La valeur ‘10:45:15’ sera convertie en ‘0000-00-00’ car ‘45’ n'est pas un mois valide.
Comment puis-je faire en sorte que ma BDD MySQL prenne une heure dans le champ Rtime de type TIME ?
Partager