Java.sql.Date dans un champ datetime MySQL

Signaler
Messages postés
7
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
13 avril 2007
-
Messages postés
7
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
13 avril 2007
-
voilà, j'ai convertit un java.util.Date en java.sql.Date ce qui me semblait nécessaire pour l'enregistrer dans ma base MySQL.
Seulement voilà, ça n'enregistre que la date mais pas l'heure !

Voici mon code
PreparedStatement pstm = connex.prepareStatement(
"Insert into MATABLE (ID,CLIENT,DATE) values (?,?,?)");

Date madate = new Date(su.getDateSession().getTime());
pstm.setInt(1,33224444));
pstm.setString(2,"172.80.1.40");
pstm.setDate(3,madate) ;
pstm.execute();


le su.getDateSession() retourne une date au format java.util.Date (yyyy-MM-dd hh:mm:ss)

voilà koi dans le champ DATE au format DATETIME de ma base mysql ca met bien la date com il faut mais l'heure se fait la malle et affiche 00:00:00

please help.

2 réponses

Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
10
GodConan :clown)

c peut etre un prob avec la methode setDate ;o)

si tarrive pas a resoudre ;o) tu peut toujour separer ta date en 2 champ date et heure... ;o)

gl

++
Messages postés
7
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
13 avril 2007

ouais en fait, setDate ca le transforme juste au format date
le plus simple est d'utiliser un champ TIMESTAMP pour le champ Mysql et la classe Timestamp Java.
Cela donne des dates au format yyyyMMddhhmmss ce qui peut etre aussi interessant.

PreparedStatement pstm = connex.prepareStatement(
"Insert into MATABLE (ID,CLIENT,DATE) values (?,?,?)");

Timestamp madate = new Timestamp(su.getDateSession().getTime());
pstm.setInt(1,33224444));
pstm.setString(2,"172.80.1.40");
pstm.setTimestamp(3,madate) ;
pstm.execute();