salut a tous !
bon c'est vrai j'ai jamais aime gerer les dates mais dans mon appli je suis bien obliger de m'y contraindre, j'ai compris je pense depuis mon precedent post sur ce sujet la diff entre date et calendar mais voila je continu a galerer pour inserer lors d'une creation une date de creation de l'objet, mysql ou java ne voulant rien savoir. alors please Help !! ou je vais passer le nouvel an a l'azile
---------------
CONTEXTE
---------------
je resume, je fais une couche DAO sur un serveur MySQL utilisant le driver JDBC connector/J 3.1.6 et tout fonctionne sauf les dates qui me retourne systematiquement une exception.
ainsi dans chaque table j'ai un champs credate java inscrit au moment de l'insert la date et l'heure de creation de l'objet (decompose) sur la base.
dans la base ce champs est tjs Not Null.
le champs date, comme toute les autre propriéte de mon objet sont gerer dans des java bean nomme tjs XXXXInfo()
c'est une classe DAO qui gere l'implementation pour MySQL via des PreparedStatement, les requete etant ecrite en dure dans des constante statique en debut de fichier...
--------------
CODE
--------------
dans le java bean :
dans le dao
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 .... private String videoclient; private String website; private Date credateclient; .... (constructeur surcharge) this.website = website; this.credateclient = credateclient; ..... (getter et setter) public Date getCredateclient() { return credateclient; } public void setCredateclient(Date credateclient) { this.credateclient = credateclient; }
----------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //insertion de la date de creation (format Long --> timestamp since EPOCH) if (info.getCredateclient() != null) { calendar = new GregorianCalendar(); ps.setDate(16,new Date(calendar.getTimeInMillis())); } else { calendar = new GregorianCalendar(); //calendar.setTime(info.getCredateclient()); ps.setDate(16,new Date(calendar.getTimeInMillis())); }
Mon Probleme
--------------------
-pardon pour la longueur mais je veux etre precis, j'execute cela depuis un main() de test. j'ai tous le temps des pb entre util.date et sql.date et les long et les calendar y'a toujours un autre endroit ou ca bloque !!java.lang.ClassCastException: java.sql.Date
at sun.cne.msp.client.DAO.MySQLclientDAO.load(MySQLclientDAO.java:280)
at sun.cne.msp.client.DAO.MySQLclientDAO.findAll(MySQLclientDAO.java:502)
at sun.cne.msp.Start.main(Start.java:113)
comment faire ???
Partager