Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1105 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  addition de dates

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

addition de dates

n°698030
lapartdomb​re
Posté le 13-04-2004 à 10:05:09  profilanswer
 

Je cherche à additionner une heure à une date. Mon problème est que cette heure et cette date sont au format String car je dois les insérer dans une requete SQL grâce à une requete du style  
 
query="insert into BASEQ.TEST_EXECUTION  (BASEQ.TEST_EXECUTION.EXE_DATE) values  (TO_DATE('" + startTime + "' , 'MM/DD/YYYY HH24:MI')";  
 
avec startTime ma date à laquelle je dois ajouter une chaine contenant une heure.
 
Je ne sais pas comment faire pour additionner ces 2 formats différents de date      

mood
Publicité
Posté le 13-04-2004 à 10:05:09  profilanswer
 

n°698050
the real m​oins moins
Posté le 13-04-2004 à 10:37:15  profilanswer
 

java.util.Calendar


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698067
lapartdomb​re
Posté le 13-04-2004 à 10:47:17  profilanswer
 

C'est ce que je suis entrain d'essayer d'utiliser mais j'ai quelques problème pour ensuite intégrer la nouvelle date calculée dans ma requete

n°698070
the real m​oins moins
Posté le 13-04-2004 à 10:48:41  profilanswer
 

PreparedStatement [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698075
lapartdomb​re
Posté le 13-04-2004 à 10:51:18  profilanswer
 

J'avais commencé à utiliser PreparedStatement mais j'avais trop d'erreur. Du coup j'ai entrer mes dates en format Sting, en faisant un To_DATE dans ma requete. Mais en additionnant mes dates, j'obtiens en fin de traitement un calendar et non plus un String. Il faut donc que j'arrive à retransformer  ce Calendar en string

n°698081
benou
Posté le 13-04-2004 à 10:56:39  profilanswer
 

lapartdombre a écrit :

J'avais commencé à utiliser PreparedStatement mais j'avais trop d'erreur. Du coup j'ai entrer mes dates en format Sting, en faisant un To_DATE dans ma requete.  


http://www.eklyptic.org/eyemage/images/stars/sting.jpg
 
je te conseille de reprendre le PreparedStatement et de corriger les erreurs que tu avais.


---------------
ma vie, mon oeuvre - HomePlayer
n°698086
lapartdomb​re
Posté le 13-04-2004 à 10:59:26  profilanswer
 

Super photo !!!!!
 
Une petite question avec le preparesStatement comment tu fais pour affecter ta date à la variable. Est ce que setDate fonctionne?
Je ne pense pas car il prend en paramètre setDate(int, java.sql.Date) et non un GregorianCalendar ou un Calendar
statement.setDate(1,calendar);

n°698089
lorill
Posté le 13-04-2004 à 11:06:32  profilanswer
 

totoz

n°698090
lapartdomb​re
Posté le 13-04-2004 à 11:06:48  profilanswer
 

??????????

n°698103
benou
Posté le 13-04-2004 à 11:22:29  profilanswer
 

sur un calendar tu peux faire un getTime() pour récupérer l'équivalent sous forme de Date


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 13-04-2004 à 11:22:29  profilanswer
 

n°698132
lapartdomb​re
Posté le 13-04-2004 à 11:49:20  profilanswer
 

J'ai un message d'erreur "null" et je ne comprend pas d'ou vient le probleme.
Voici une partie de mon code :
 
query="insert into BASEQ.TEST_EXECUTION  (BASEQ.TEST_EXECUTION.EXE_DATE) values  (? ))";    
PreparedStatement statement = connection.prepareStatement(query);
statement.setDate(1,(java.sql.Date) calendar.getTime());

n°698234
lorill
Posté le 13-04-2004 à 13:38:02  profilanswer
 

[:totoz]
 
getTime() te renvoie un java.util.Date (cf moinsmoins, quel nom de methode mal choisi :o)
on ne caste pas un java.util.Date en java.sql.Date, ca n'a aucun sens.
 
java.util.Date a une methode getTime() qui te renvoie un long
java.sql.Date a un constructeur qui prend un long.
je te laisse donc deviner comment faire passer le Calendar en Date.


Message édité par lorill le 13-04-2004 à 13:46:02
n°698238
the real m​oins moins
Posté le 13-04-2004 à 13:40:23  profilanswer
 

getTime de Calendar renvoie un Date... java.util.Date :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698244
lorill
Posté le 13-04-2004 à 13:44:58  profilanswer
 

the real moins moins a écrit :

getTime de Calendar renvoie un Date... java.util.Date :D

oups

n°698281
lapartdomb​re
Posté le 13-04-2004 à 14:17:49  profilanswer
 

Désolé mais la je crois que je suis un peu perdue entre les java.sql.Date, java.util.Date et les calendar???  COmment je peux faire pour passer mon calendar en param.

n°698305
benou
Posté le 13-04-2004 à 14:39:07  profilanswer
 

fais un effort ! avec la javadoc et ce qui t'as été dis tu as tout ce qui faut ... faut mettre un peu du tiens, hein !
 
new java.sql.Date(tonCalendar.getTime().getTime())


---------------
ma vie, mon oeuvre - HomePlayer
n°698310
the real m​oins moins
Posté le 13-04-2004 à 14:42:18  profilanswer
 

benou :pfff:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698315
lapartdomb​re
Posté le 13-04-2004 à 14:47:20  profilanswer
 

je veux bien faire un effort mais en plus de la date j'ai besoin de récupérer l'heure et avec cette méthode je n'ai plus l'heure

n°698323
lorill
Posté le 13-04-2004 à 14:51:55  profilanswer
 

http://forum.hardware.fr/icones/flagn1.gif

n°698446
benou
Posté le 13-04-2004 à 17:25:46  profilanswer
 


[:skeye]

lapartdombre a écrit :

je veux bien faire un effort mais en plus de la date j'ai besoin de récupérer l'heure et avec cette méthode je n'ai plus l'heure


dans ce cas c'est pas Date que tu dois utiliser mais TimeStamp. ca fonctionne à peu près pareil ... je te laisse regarder la javadoc.


---------------
ma vie, mon oeuvre - HomePlayer
n°698453
the real m​oins moins
Posté le 13-04-2004 à 17:27:54  profilanswer
 

benou a écrit :


[:skeye]
 
dans ce cas c'est pas Date que tu dois utiliser mais TimeStamp. ca fonctionne à peu près pareil ... je te laisse regarder la javadoc.

:heink: qu'est-ce que tu racontes toi.
le probleme est probablement du coté de sa base: un objet date est précis à la ms [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698469
benou
Posté le 13-04-2004 à 17:32:59  profilanswer
 

the real moins moins a écrit :

:heink: qu'est-ce que tu racontes toi.
le probleme est probablement du coté de sa base: un objet date est précis à la ms [:spamafote]


bha non : (javadoc de java.sql.Date)

Citation :

To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be 'normalized' by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.


Pour ca y a Time et TimeStamp (qui ajoute les nanoseconde). Il me semble que c'est ce dernier qui est le plus utilisé.


Message édité par benou le 13-04-2004 à 17:33:19

---------------
ma vie, mon oeuvre - HomePlayer
n°698475
the real m​oins moins
Posté le 13-04-2004 à 17:35:53  profilanswer
 

ha ouais tiens [:core 666]  
va pour Timestamp alors [:spamafote]
 
(pouvaient pas faire prendre un util.Date a la methode setDate nan?[:kiki])


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°700012
pascal34
one point !
Posté le 15-04-2004 à 11:48:30  profilanswer
 

Je comprend pas (et pourtant j'essaye) pourquoi y'en a qui s'evertue à faire du SQL alors qu'avec des outils de mapping objet/relationnel comme Hibernate ce genre de problème s'évanouie.

n°700020
the real m​oins moins
Posté le 15-04-2004 à 11:50:31  profilanswer
 

- parce qu'ils sont à l'école
- parce qu'ils s'en battent les couilles et font ce que le chef à dit. chef qui, en bon chef qui se respecte, ne connait plus à rien depuis 15 ans


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°700049
benou
Posté le 15-04-2004 à 12:50:40  profilanswer
 

je vois pas le problème de faire du SQL : ca va certainement plus vite à mettre en place dans le cadre de petits projets


---------------
ma vie, mon oeuvre - HomePlayer
n°700050
the real m​oins moins
Posté le 15-04-2004 à 12:51:17  profilanswer
 

benou a écrit :

je vois pas le problème de faire du SQL : ca va certainement plus vite à mettre en place dans le cadre de petits projets

quand on ne sait pas de quoi on parle, peut etre.
en clair, t'as tord.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°700054
pascal34
one point !
Posté le 15-04-2004 à 12:57:48  profilanswer
 

benou a écrit :

je vois pas le problème de faire du SQL : ca va certainement plus vite à mettre en place dans le cadre de petits projets


 
Pour chez toi ça va
 
mais  
 
petit projet devriendra grand.
 
Sans compter que les éditeurs de SGBDR ont tous ajouter leur subtilités au SQL qui aurait du rester universel.
 
Avec des outils de mapping Objet/Relationnel la prise en compte d'un SGBD particulier se limite à de la configuration.


Message édité par pascal34 le 15-04-2004 à 13:00:16
n°700298
benou
Posté le 15-04-2004 à 15:52:53  profilanswer
 

the real moins moins a écrit :

quand on ne sait pas de quoi on parle, peut etre.
en clair, t'as tord.


peut être ...
je connais pas hibernate, mais j'imagine que le temps de formation à l'outils doit pas être négligeable ...
 
et j'ai tendance à me méfier de ce genre d'outils sur les petits projets ...  
 
Genre si t'as 2 tables en base, je vois pas l'intérêt de passer par ce genre de trucs quoi ... si ce n'est opur des raisons politiques de la boite (qui m'oblige d'ailleur à utiliser un truc équivalent ici)


---------------
ma vie, mon oeuvre - HomePlayer
n°700300
benou
Posté le 15-04-2004 à 15:53:37  profilanswer
 

pascal34 a écrit :


petit projet devriendra grand.


et tant va la cruche à l'eau qu'à la fin elle se casse [:kiki]


---------------
ma vie, mon oeuvre - HomePlayer
n°700338
the real m​oins moins
Posté le 15-04-2004 à 16:22:10  profilanswer
 

benou a écrit :


peut être ...
je connais pas hibernate, mais j'imagine que le temps de formation à l'outils doit pas être négligeable ...
 
et j'ai tendance à me méfier de ce genre d'outils sur les petits projets ...  
 
Genre si t'as 2 tables en base, je vois pas l'intérêt de passer par ce genre de trucs quoi ... si ce n'est opur des raisons politiques de la boite (qui m'oblige d'ailleur à utiliser un truc équivalent ici)

le temps de formation, c'est une fois pour toute, et c'est vraiment super rapide à demarrer. va voir la doc, en 5 minutes, pour 2 objets t'es parti.
et puis tu peux faire de l'objet, et t'arretes de te faire chier avec l'antiquité du sql quoi [:kiki]
t'es gagnant à tout point de vue.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°700358
pascal34
one point !
Posté le 15-04-2004 à 16:34:59  profilanswer
 

benou a écrit :


et tant va la cruche à l'eau qu'à la fin elle se casse [:kiki]


 
et puis d'abord le chien aboie et la caravane passe  :lol:  
 
Plus sérieusement, même pour deux tables j'irai pas m'emmerder à faire du SQL ne serait-ce que pour la compatibilité avec les SGBD.
 
Maintenant, si ton SGBD est fixe et que tu as deux ridicules transactions à faire, pourquoi pas si t'es un pro du SQL.

n°700394
benou
Posté le 15-04-2004 à 17:05:35  profilanswer
 

the real moins moins a écrit :

le temps de formation, c'est une fois pour toute, et c'est vraiment super rapide à demarrer. va voir la doc, en 5 minutes, pour 2 objets t'es parti.
et puis tu peux faire de l'objet, et t'arretes de te faire chier avec l'antiquité du sql quoi [:kiki]
t'es gagnant à tout point de vue.


et ca gère même des requêtes un peu plus compliqué que de bêtes select insert update ? genre des "select ... where id in(...)", des trucs comme ca ?


Message édité par benou le 15-04-2004 à 17:05:58

---------------
ma vie, mon oeuvre - HomePlayer
n°700419
pascal34
one point !
Posté le 15-04-2004 à 17:31:59  profilanswer
 

benou a écrit :


et ca gère même des requêtes un peu plus compliqué que de bêtes select insert update ? genre des "select ... where id in(...)", des trucs comme ca ?


 
En gros le mapping c'est une table = une classe et une colonne = un atrribut de la classe avec les get/set
Ca se fait dans des fichier xml de conf
 
En plus fin tu décris les contaraintes entre les tables avec des relations one-to-one, one-to-many, many-to-one, many-to-many. Dans le dernier cas tu donne en plus le nom de la table d'indexation et il gère le reste.
 
Les contraintes sont exprimées dans le code sous la forme de méthodes qui renvoient des List ou des Set suivant la contrainte (one-to-one ne correspond pas à une liste !!!). Si tu le souhaites, tu peux spécifier que tu veux les liens inverses.
 
Tu peux toi-même gérer les clés primaires (simples ou composées) ou bien laisser le soin à Hibernate de le faire. Dans ce cas il choisira la meilleur méthode en fonction du SGBD cible.
 
Ex : Une Commande est associée à un seul Client mais un client peut passer plusieurs Commandes -> Sur la classe Commande tu as un attribut de type Client avec ses get/set et tu pourra avoir la classe Client une méthode getCommandes() qui te renvoi un objet List contenant toutes les commandes du client.
 
Si tu veux ajouter une Commande à un client tu fera qqch comme ça :
 

Code :
  1. Client monClient = new Client();
  2. Commande maCommande = new Commande();
  3. /*
  4. travailler avec la commande
  5. */
  6. monClient.setId(...);//un numéro client par exemple obtenu en chargeant les objets clients et après sélection dans une liste.
  7. monClient.load();
  8. monClient.getCommandes().add(maCommande);
  9. monClient.save();


 
Tout l'aspect connection à la base est géré par hibernate.
Tu peux ou non faire des tansactions.
 
Et surtout le plus cool, si tu changes de SGBD en cours de route t'as pas à te retaper toutes tes requêtes pour voir si elles sont acceptées par le nouveau SGBD.
 
C'est mieux de bosser comme ça


Message édité par pascal34 le 15-04-2004 à 17:35:17
n°700422
benou
Posté le 15-04-2004 à 17:37:00  profilanswer
 

ouais, ben c'est un truc classique quoi ... sauf  que tu dois avoir un max de fichiers de config derrière, des sources à générer, etc ... c'est l'équivalent du truc qu'on a ici, et je persiste à dire que pour des besoin simple ca va plus vite de faire ca en SQL.
 
Mais il est évident que c'est l'outil à utiliser pour des projets de taille moyenne ou importante


---------------
ma vie, mon oeuvre - HomePlayer
n°700426
the real m​oins moins
Posté le 15-04-2004 à 17:46:36  profilanswer
 

benou a écrit :


et ca gère même des requêtes un peu plus compliqué que de bêtes select insert update ? genre des "select ... where id in(...)", des trucs comme ca ?

un bete IN (3,4,5) ??? bah y'a interet [:mlc]
 
si ça t'amuse tu peux meme cracher du sql direct dedans.
 
seulement des crasses style requetes imbriquées etc les 3/4 du temps pour moi c'est signe d'un design louche :o
 
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°700428
the real m​oins moins
Posté le 15-04-2004 à 17:47:49  profilanswer
 

benou a écrit :

ouais, ben c'est un truc classique quoi ... sauf  que tu dois avoir un max de fichiers de config derrière, des sources à générer, etc ... c'est l'équivalent du truc qu'on a ici, et je persiste à dire que pour des besoin simple ca va plus vite de faire ca en SQL.
 
Mais il est évident que c'est l'outil à utiliser pour des projets de taille moyenne ou importante

ZERO sources à generer, et tu peux generer TOUS les fichiers de conf à partir de ton code source. et ton code source c'est DES BETES JAVABEANS.
 
PUTAIN TU VA LA LIRE L'INTRODUCTION EN 5 MINUTES OU MERDE!! (au lieu de ramener tes arguments préhistoriques à la con là)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°700450
darklord
You're welcome
Posté le 15-04-2004 à 18:12:30  profilanswer
 

[:yo]

n°700465
benou
Posté le 15-04-2004 à 18:37:56  profilanswer
 

the real moins moins a écrit :

PUTAIN TU VA LA LIRE L'INTRODUCTION EN 5 MINUTES OU MERDE!! (au lieu de ramener tes arguments préhistoriques à la con là)


j'irai voir, oui.
 
et mes arguments à la con il t'emmerdent :o


---------------
ma vie, mon oeuvre - HomePlayer
n°700578
benou
Posté le 15-04-2004 à 22:12:46  profilanswer
 

j'ai lu ...
 
mouais, bof, a tester. Je suis pas super emballé : y a rien de révolutionnaire. La config a l'air assez simple (c'est un bon point) mais c'est assez troublant de HQL ...  C'est pas trop chiant à la longue ?
 
faudrait que je teste ca dans un vrai projet pour bien me rendre compte ...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  addition de dates

 

Sujets relatifs
Manipulation de datesincrementation et dates
[Batch] addition genre %TIME:~0,5% + 10 pour avancer de 10 min..calcul du nombre de jours ouvrés entre 2 dates
[PHP Mysql] probleme pour avoir la difference entre 2 dates.[PHP/SQL] Addition de valeur numérique d'un champ d'une table
Expressions régulières :-/ avec des datesaddition de date
[MYSQL] Maniement des datesRequête sur les dates
Plus de sujets relatifs à : addition de dates


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR