JDateChooser java
Résolu
lolita-01
Messages postés
90
Date d'inscription
Statut
Membre
Dernière intervention
-
lolita-01 Messages postés 90 Date d'inscription Statut Membre Dernière intervention -
lolita-01 Messages postés 90 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veux savir comment récuperer la date que j'ai selectionné avec le jDateChooser dans ma bdd sous forme de dd/mm/yyyy . Lorsque j'utilise getDate " Date a= jDateChooser1.getDate();" et je selectionne une date j'ai l'erreur ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique Sachant que dans ma bdd j'utilise aussi le type date
je veux savir comment récuperer la date que j'ai selectionné avec le jDateChooser dans ma bdd sous forme de dd/mm/yyyy . Lorsque j'utilise getDate " Date a= jDateChooser1.getDate();" et je selectionne une date j'ai l'erreur ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique Sachant que dans ma bdd j'utilise aussi le type date
2 réponses
JDateChooser n'est pas standard, indiques nous quelle est la bibliothèque complémentaire que tu utilises. De plus précises de quel type "Date" tu parles, a priori dans une base de données tu utilises java.sql.Date, alors que ton JDateChooser utilise probablement java.util.Date, alors certes il y a une relation mère/fille entre ces deux classes, mais la compatibilité n'existe donc que dans un sens !
j'ai changé le type de l'attribut date dans ma bdd j'ai mis varchar et j'ai réessayer ça marche mais par exemple losque je selectionne "01/09/2012" dans la base je trouve "Sat Sep 01 00:00:00 GMT+01:00 2012". Comment faire our avoir la date sous forme dd/mm/yyyy ?? j'espere que j'ai bien expliqué mon probléme
"j'ai changé le type de l'attribut date dans ma bdd j'ai mis varchar"
Je ne vois pas l'intérêt. Une DATE dans une BDD c'est un entier (long en Java = 8 octets) et là tu le remplaces par un VARCHAR (un String de 2 octets par caractères !)
"Sat Sep 01 00:00:00 GMT+01:00 2012" correspond à la valeur de toString(), si tu veux avoir "dd/mm/yyyy", tu pourrait utiliser :
Je pense que ton problème pourrait se résoudre simplement, en conservant ton format DATE dans la BDD, par exemple un truc genre :
Je ne vois pas l'intérêt. Une DATE dans une BDD c'est un entier (long en Java = 8 octets) et là tu le remplaces par un VARCHAR (un String de 2 octets par caractères !)
"Sat Sep 01 00:00:00 GMT+01:00 2012" correspond à la valeur de toString(), si tu veux avoir "dd/mm/yyyy", tu pourrait utiliser :
String s = String.format("%1$td/%1$tm/%1$tY",date);Mais ça fera toujours 20 octets. Or ça ne sert à rien de gâcher de la mémoire dans la BDD.
Je pense que ton problème pourrait se résoudre simplement, en conservant ton format DATE dans la BDD, par exemple un truc genre :
java.util.Date utilDate = jDateChooser.getDate(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());