Mise à jour d'une date dans MySQL
Bonjour à tous,
J'essaie d'insérer une date de type Date sous Java dans une date dans une table MySQL.
Voici mon code :
Code:
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;
} |
Je fais cela après avoir fait comme import :
Code:
import java.util.Date;
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:
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 |
Je précise que dans ma base de données, les deux dates sont de types datetime.
Merci d'avance de me répondre :D .
champijulie