Bonjour à tous,
J'essaie d'insérer une date de type Date sous Java dans une date dans une table MySQL.
Voici mon code :
Je fais cela après avoir fait comme import :
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
29
30
31
32
33 static public boolean miseAjourAbsence (Absence abs){ boolean succes = false; Connection conn = null; PreparedStatement st = null; // ResultSet rs = null; String query = "UPDATE absence SET ABS_dateDeb = ?, ABS_dateFin = ?, ABS_raison = ?, TAB_idTypeAbs = ?, INT_idIntervenant = ? WHERE ABS_idAbs = "+abs.getIdAbsence()+";"; try { conn = Connexionbis.getConnection(); st = conn.prepareStatement(query); st.setDate(2,(Date)abs.getDebutAbsDate()); st.setDate(3,(Date)abs.getFinAbsDate()); st.setString(4,abs.getRaisonAbsence()); st.setString(5,abs.getTypeAbsence()); st.setString(6,abs.getInterv().getIdIntervenant()); st.executeUpdate(); succes = true; } catch (Exception e) { throw new DAOException(e); } finally { try { if(st != null) { st.close(); } if(conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return succes; }
mais les fonctions setDate ne fonctionne pas dans ce cas et si j'importe java.sql.Date, il y a un conflit entre les deux dates. Voici le message d'erreur que me renvoie la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part import java.util.Date;
Je précise que dans ma base de données, les deux dates sont de types datetime.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Exception in thread "main" dao.DAOException: java.lang.ClassCastException: java.util.Date at methodesBD.BDAbsence.miseAjourAbsence(BDAbsence.java:71) at methodesBD.BDTest.main(BDTest.java:29) Caused by: java.lang.ClassCastException: java.util.Date at methodesBD.BDAbsence.miseAjourAbsence(BDAbsence.java:62) ... 1 more
Merci d'avance de me répondre .
champijulie
Partager