[Java] Insertion d'une date dans SQL
Résolu
Mastaking
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
Mastaking Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Mastaking Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un probleme d'insertion de date dans une base de donnee de type mySql. Je m'explique:
j'ai dans ma base de donnee un champ Date de type DATETIME. jusque la pas de probleme. Seulement a travers un formulaire je permet a des utilisateurs de choisir une date avec yyyy-mm-dd hh:mm:ss jusque la encore pas de probleme, grace aux sysout je verifie que mon objet java.sql.date est parfaitement cree, mais lors de l'inserttion, j'obtient une date de la sorte : 1867-12-12 00:00:00
Les heures, minutes et secondes sont ignorees !!!!
Et la je vous avoue que je seche.... le raisonnement de mon code est le suivant :
Calendar cal = Calendar.getInstance();
cal.set( Calendar.YEAR, uneAnnee);
cal.set( Calendar.MONTH, unMois);
cal.set( Calendar.DATE, unJour);
cal.set( Calendar.HOUR_OF_DAY, uneHeure);
cal.set( Calendar.MINUTE, uneMinute);
cal.set( Calendar.SECOND, uneSeconde);
cal.set( Calendar.MILLISECOND, uneMilliseconde);
java.sql.Date uneDate= new java.sql.Date( cal.getTime().getTime());
//jusque la pas de probleme, un sysout me prouve que mon objet Date est bien cree par exemple :
System.out.println("Date : "+ uneDate);
System.out.println("Heure : "+ new java.sql.Time(uneDate.getTime()));
//Le probleme maintenant lors de l'insertion :
String sqlReq ="UPDATE table SET Date=? WHERE ID=?";
PreparedStatement ps = connection.getPreparedStatement(sqlReq);
try{
ps.setDate(1, uneDate);
ps.setInt(2, ID);
ps.executeUpdate();
}
catch(SQLException ex){
System.out.println("Erreur lors de l'execution de la requete");
ex.printStackTrace();
}
Et c'est ainsi que l'heure n'est pas pris en compte. J'ai essaye beaucoup de combinaison comme celle-ci :
ps.setDate(1, uneDate);
ps.setTime(1, new java.sql.Time(uneDate.getTime()));
ps.setInt(2, ID);
sans succes.
Donc si quelqu'un a deja ete confronte au probleme ou a une solution pour moi ce serait vraiment sympa.
merci d'avoir pris la peine de lire mon probleme.
J'ai un probleme d'insertion de date dans une base de donnee de type mySql. Je m'explique:
j'ai dans ma base de donnee un champ Date de type DATETIME. jusque la pas de probleme. Seulement a travers un formulaire je permet a des utilisateurs de choisir une date avec yyyy-mm-dd hh:mm:ss jusque la encore pas de probleme, grace aux sysout je verifie que mon objet java.sql.date est parfaitement cree, mais lors de l'inserttion, j'obtient une date de la sorte : 1867-12-12 00:00:00
Les heures, minutes et secondes sont ignorees !!!!
Et la je vous avoue que je seche.... le raisonnement de mon code est le suivant :
Calendar cal = Calendar.getInstance();
cal.set( Calendar.YEAR, uneAnnee);
cal.set( Calendar.MONTH, unMois);
cal.set( Calendar.DATE, unJour);
cal.set( Calendar.HOUR_OF_DAY, uneHeure);
cal.set( Calendar.MINUTE, uneMinute);
cal.set( Calendar.SECOND, uneSeconde);
cal.set( Calendar.MILLISECOND, uneMilliseconde);
java.sql.Date uneDate= new java.sql.Date( cal.getTime().getTime());
//jusque la pas de probleme, un sysout me prouve que mon objet Date est bien cree par exemple :
System.out.println("Date : "+ uneDate);
System.out.println("Heure : "+ new java.sql.Time(uneDate.getTime()));
//Le probleme maintenant lors de l'insertion :
String sqlReq ="UPDATE table SET Date=? WHERE ID=?";
PreparedStatement ps = connection.getPreparedStatement(sqlReq);
try{
ps.setDate(1, uneDate);
ps.setInt(2, ID);
ps.executeUpdate();
}
catch(SQLException ex){
System.out.println("Erreur lors de l'execution de la requete");
ex.printStackTrace();
}
Et c'est ainsi que l'heure n'est pas pris en compte. J'ai essaye beaucoup de combinaison comme celle-ci :
ps.setDate(1, uneDate);
ps.setTime(1, new java.sql.Time(uneDate.getTime()));
ps.setInt(2, ID);
sans succes.
Donc si quelqu'un a deja ete confronte au probleme ou a une solution pour moi ce serait vraiment sympa.
merci d'avoir pris la peine de lire mon probleme.
A voir également:
- [Java] Insertion d'une date dans SQL
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Bonjour,
problème résolu grâce a Bennett a travers son article très pertinent :
https://thunderguy.com/semicolon/2003/08/14/java-sql-date-is-not-a-real-date/
En espérant que cela réglera le problème pour d'autre également.
problème résolu grâce a Bennett a travers son article très pertinent :
https://thunderguy.com/semicolon/2003/08/14/java-sql-date-is-not-a-real-date/
En espérant que cela réglera le problème pour d'autre également.