Bonjour....
Je viens chercher un peu d'aide car je ne trouve pas de solutions à mon probléme...
j'ai une date au format dd/MM/yyyy HH:mm:ss
mais quand je l'enregistre dans la base les HH:mm:ss se retrouve initialisé à zero....
un peu de code pour vous aider à trouver mon erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Date d = collab.getDateEntree(); System.out.println("datejava=" + d); Timestamp time = new Timestamp(d.getTime()); collab.setDateEntree(time); System.out.println("madate enregistre est:" + time); String mareqajout = "INSERT INTO [Collaborateurs] " + "([Nom]" + ",[Prenom]" + ",[DateEntree]" ")" + " VALUES" + " (?,?,?)"; try { PreparedStatement prepa = conn.prepareStatement(mareqajout ); prepa.setObject(1, collab.getNom()); prepa.setObject(2, collab.getPrenom()); prepa.setObject(3, collab.getDateEntree()); rs = prepa.executeUpdate(); System.out.println("madate= "+collab.getDateEntree()); } catch (SQLException ex) { Logger.getLogger(Collaborateur.class.getName()).log(Level.SEVERE, null, ex); }
Y a peut-etre du code en plus (du à des essais de ma part )
les "system out" donnent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 datejava=Thu Apr 02 17:20:42 CEST 2009 madate enregistre est:2009-04-02 17:20:42.406 madate= 2009-04-02 17:20:42.406 resultat ajout=1
mais dans ma base j'ai 2009-04-02 00:00:00.000 d'enregistré...
j'ai essayé avec
mais ça change rien,.
Code : Sélectionner tout - Visualiser dans une fenêtre à part prepa.setDate(3, new java.sql.Date(collab.getDateEntree().getTime()));
Mon champ est de type DateTime dans ma base sous SQLserver.
J'avoue que les millisecondes, je peux m'en paser, mais ce champ date me sert à faire des tris et j'ai besoin des HH:mm:ss.
Merci de m'orienter vers des solutions possibles...
Partager