|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Salut les membres
j'ai besoin de renseigner la date+time de la création d'une entité. Le problème est que j'arrive pas à insérer le Time: j'ai toujous la date seulement malgré que le type dans ma base est belle et bien timestamp (24/01/2008 au lieu de 2008-01-24 18:02:02.209) Dans mon code JAVA j'ai essayer avec le type Timestamp et Date(java.util, java.sql...) sans réussite: Code :
Code :
Merci d'avance |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
C'est un problème de fonction java et pas un problème de Postgresql, tu devrais essayer de poser ton problème sur le forum java
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
bonjour scheu,
je ne pense pas que ça soit unproblème de fonction Java puisque ma requete SQL est bien formée (dateCreated='2008-01-25 09:57:15.081'). je me trompe? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Tu veux insérer un timestamp dans ta base ou l'extraire de ta base au juste ? (désolé je suis pas spécialiste java)
Si dans ta base le type est bien timestamp, c'est côté java qu'il faut trouver le moyen ou la bonne fonction pour extraire les heures/minutes/secondes |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Salut,
je rémercie votre intéressement Scheu. En faite je veux insérer date+time dans mon champs Timetamp de ma base posstgres. le code indiqué dans mON prémier post renseigne sur la façon que j'ai suivi dans mon programme JAVA. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Je ne sais pas si le timestamp java marche pour insérer un timestamp sous
postgresql Au pire tu peux construire une variable string avec la valeur que tu veux insérer, du type Code :
query := 'insert into ma_table (ma_colonne) values (''2000-12-16 12:21:13'');' |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
à moins d'avoir une raison impérieuse de faire autrement, il vaut mieux que cet horodatage se fasse côté base plutôt que côté client. Cela évite les problèmes liés aux horloges non synchronisées entre elles, et cela allège tes requêtes. Pour cela, il suffit de définir une valeur par défaut pour ton champ : Code :
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Bonjour GrandFather
j'ai pensé à cette solution mais ça ne marche pas: j'ai remplie mon objet JAVA en aissant mon variable 'DateCreation' vide en pensant qui'elle sera remplie au niveau basse de données par la commande now(). dans le cas reél la valeur now() est ecrasé par la valeur de mon variable 'DateCreation' qui correspond à NULL. donc cette solution marche seulement dans le cas de l'ajout manuel dan la base de donnés. PS: desolé pour le retard de post. |
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Passe ton champ 'DateCreation' en lecture seule dans ton objet et ça fonctionnera.
Il n'est pas sûr, comme dit scheu, que le driver JDBC PostgreSQL considère comme équivalents les timestamps Java & Postgres ; tu devrais passer par un format chaîne comme il le suggère, qui sera correctement "casté" par Postgres.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com