JDateChooser java

Résolu/Fermé
lolita-01 Messages postés 90 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 26 juillet 2013 - 19 sept. 2012 à 16:50
lolita-01 Messages postés 90 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 26 juillet 2013 - 19 sept. 2012 à 23:28
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

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
19 sept. 2012 à 17:01
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 !
0
lolita-01 Messages postés 90 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 26 juillet 2013
19 sept. 2012 à 18:34
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
0
lolita-01 Messages postés 90 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 26 juillet 2013
19 sept. 2012 à 18:51
en fait dans mon interface je doit selectionner 2 date, date début et date fin. j'ai remarqué la 1ére date dans la bdd s'affiche "Sat Sep 01 00:00:00 GMT+01:00 2012". et la 2émé "Sat Sep 08 17:25:27 GMT+01:00 2012" (c'est l'heure systéme) , je sais pas pourquoi j'ai un telle affichage!!
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
19 sept. 2012 à 18:58
"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 :
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());
0
lolita-01 Messages postés 90 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 26 juillet 2013
19 sept. 2012 à 23:28
ça marche dans les 2 cas merci :)
0