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

  FORUM HardWare.fr
  Programmation
  Java

  problème de format de date

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de format de date

n°688359
lapartdomb​re
Posté le 31-03-2004 à 13:40:20  profilanswer
 

Je cherche à insérer à partir d'un programme java des dates dans une table Oracle.
 
Mon format de date du départ est
 
  Wed Mar 31 13:33:45 CEST 2004
 
et je dois avoir comme format pour pouvoir le rentrer dans ma table
 
  01-janv.-1999 10:30:00 AM
 
Pour convertir ma chaine en string, j'utilise comme fonction
 
public static Date stringToDate(String sDate, String sFormat) throws Exception  
{
SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
return sdf.parse(sDate);
}  
 

 
en spécifiant comme format "dd-MMMM-yyyy HH:mm:ss aa"
 
Mais Oracle refuse de m'entrer mes données avec comme messages d'erreur  
ORA-01858: a non-numeric character was found where a numeric was expected
 
 
Si vous pouvez me donner un coup de main ce serait très gentil

mood
Publicité
Posté le 31-03-2004 à 13:40:20  profilanswer
 

n°688369
darklord
You're welcome
Posté le 31-03-2004 à 13:44:59  profilanswer
 

Bin si tu utilises une date tu t'en fous du format hein :D C'est quoi le type de ton champ Oracle?

n°688378
lapartdomb​re
Posté le 31-03-2004 à 13:50:26  profilanswer
 

le type de mon champ sous oracle est  Date
 
mais quand je cherche à insérer ma date dans ma table j'ai comme message d'erreur  ORA-01858: a non-numeric character was found where a numeric was expected  et je ne vois pas d'on vient le probleme

n°688381
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 31-03-2004 à 13:52:08  profilanswer
 

Si le champ de ta table est de type Date alors tu devrais (normalement) utiliser une méthode setDate(date) pour réaliser ce que tu veux faire. Tu fais bien du JDBC pour faire ton insertion ?

n°688387
lapartdomb​re
Posté le 31-03-2004 à 13:54:40  profilanswer
 

oui pour l'insertion je fais du JDBC mais je n'ai pas fait un set Date je vais essayer

n°688390
darklord
You're welcome
Posté le 31-03-2004 à 13:55:39  profilanswer
 

tu fais quoi "INSERT INTO" a la main ou quoi?

n°688393
lapartdomb​re
Posté le 31-03-2004 à 13:56:40  profilanswer
 

oui je fais un INSERT INTO a la main en insérant mes variables

n°688396
lorill
Posté le 31-03-2004 à 13:57:56  profilanswer
 

DarkLord a écrit :

tu fais quoi "INSERT INTO" a la main ou quoi?


on peut faire autrement ?
(bonjour, je m'appelle lorill et je débarque :o)

n°688400
darklord
You're welcome
Posté le 31-03-2004 à 13:58:45  profilanswer
 

PreparedStatement [:kiki]

n°688401
lapartdomb​re
Posté le 31-03-2004 à 13:58:51  profilanswer
 

Salut,
 
tu dis qu'on peut faire autrement??? tu peux m'expliquer stp

mood
Publicité
Posté le 31-03-2004 à 13:58:51  profilanswer
 

n°688405
lapartdomb​re
Posté le 31-03-2004 à 14:00:35  profilanswer
 

avec getDate tu n'as en retour que le jour de ta date et non toute la date.
A quoi sert prepareStatement

n°688413
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 31-03-2004 à 14:02:10  profilanswer
 

http://java.sun.com/j2se/1.4.2/doc [...] ement.html
 
Permet d'exécuter ds requêtes paramétrées


Message édité par machinbidule1974 le 31-03-2004 à 14:03:36
n°688416
darklord
You're welcome
Posté le 31-03-2004 à 14:03:44  profilanswer
 

:sweat:
http://java.sun.com/j2se/1.4.2/doc [...] ml#1000039
 
En gros tu définis le squelette de ta query et tu remplaces les paramètres avec les valeurs que tu veux. Et ca fait toutes les conversions pour toi (+ caching)

n°688424
lapartdomb​re
Posté le 31-03-2004 à 14:06:16  profilanswer
 

A quoi sert le "?"  ? et comment tu passes tes paramètres dans ta requete

n°688431
lorill
Posté le 31-03-2004 à 14:07:21  profilanswer
 

DarkLord a écrit :

PreparedStatement [:kiki]


ouais, ben ca reste un insert into a la main pour moi hein :o

n°688436
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 31-03-2004 à 14:08:50  profilanswer
 

lapartdombre a écrit :

A quoi sert le "?"  ? et comment tu passes tes paramètres dans ta requete


 
Lis le tutorial posté par DarkLord

n°688449
darklord
You're welcome
Posté le 31-03-2004 à 14:11:54  profilanswer
 

lorill a écrit :


ouais, ben ca reste un insert into a la main pour moi hein :o


 
:heink: Si tu trouves que devoir te taper la conversion des types vers des types SQL et compagnie c'est la meme chose, tant mieux pour toi :o
 
Sinon hibernate, ejb, jdo & co :o

n°688469
lorill
Posté le 31-03-2004 à 14:15:06  profilanswer
 

DarkLord a écrit :


:heink: Si tu trouves que devoir te taper la conversion des types vers des types SQL et compagnie c'est la meme chose, tant mieux pour toi :o


nan, ce que je voulais dire, c'est que les preparedstatement, je connais (encore heureux tu me diras), mais y'a quand même un INSERT INTO a la main dans le code  [:sinclaire]

n°688478
darklord
You're welcome
Posté le 31-03-2004 à 14:16:20  profilanswer
 

lorill a écrit :


nan, ce que je voulais dire, c'est que les preparedstatement, je connais (encore heureux tu me diras), mais y'a quand même un INSERT INTO a la main dans le code  [:sinclaire]  


 
ah ok [:joce]. J'avais la flemme de faire un exemple concret (genre "VALUES ('"+valeur1+"', "....

n°688495
lapartdomb​re
Posté le 31-03-2004 à 14:29:36  profilanswer
 

j'ai du mal à comprendre vraiment la syntaxe. Comment je fais pour insérer ma variable d ( format Date) par exemple dans la table t avec prepareStatement

n°688510
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 31-03-2004 à 14:39:44  profilanswer
 

Tu fais un truc du genre:
 

Code :
  1. Connection connection = ... ;
  2. PreparedStatement pstmt = connection.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?" );
  3. pstmt.setDate(1, taDate);
  4. pstmt.execute();


 
Ca fait longtemps que j'ai pas fait de JDBC et de SQL mais l'idée est donnée là

n°688518
lapartdomb​re
Posté le 31-03-2004 à 14:46:49  profilanswer
 

[C'est ce que je fais. Voici mon programme
 
String query2="insert into BASEQ.TEST_PLANNING  (PLA_CAL,PLA_CF,PLA_CODE,PLA_FICH,PLA_HOR,PLA_MSG,PLA_NBTAC,PLA_PRIORITY,PLA_SRV_CPU,PLA_UNTIL)  values (?,?,?,?,?,?,?,?,?,?)";
PreparedStatement statement = connection.prepareStatement(query2);
statement.setString(1, on);
statement.setString(2,carryForward);  
statement.setString(3, scheduleName);  
statement.setString(4, opens);  
statement.setDate(5, at);  
statement.setString(6, prompt);  
statement.setLong(7, limit);  
statement.setLong(8, priority);  
statement.setString(9, cpuName);  
statement.setDate(10, until);  
 
 
 
Et j'ai comme erreur
 
 
 
java.lang.Error: Unresolved compilation problems:  
 The method setDate(int, java.sql.Date) in the type java.sql.PreparedStatement is not applicable for the arguments (int, java.util.Date)
 The method setDate(int, java.sql.Date) in the type java.sql.PreparedStatement is not applicable for the arguments (int, java.util.Date)
 
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
 at Traitement.genereFichierSchedule(Traitement.java:1024)
 at Traitement.main(Traitement.java:1422)
Exception in thread "main"  
       

n°688519
lorill
Posté le 31-03-2004 à 14:47:50  profilanswer
 

il veut un java.sql.Date, tu lui file un java.util.Date, alors forcément, il boude [:spamafote]

n°688528
lapartdomb​re
Posté le 31-03-2004 à 14:53:45  profilanswer
 

ok merci

n°688540
lapartdomb​re
Posté le 31-03-2004 à 15:03:09  profilanswer
 

comment faire pour intialiser un java.sql.Date

n°688546
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 31-03-2004 à 15:05:20  profilanswer
 

setDate(new java.sql.Date(java.util.Date))


Message édité par machinbidule1974 le 31-03-2004 à 15:06:57
n°688548
lapartdomb​re
Posté le 31-03-2004 à 15:06:13  profilanswer
 

Merci beaucoup

n°688553
lapartdomb​re
Posté le 31-03-2004 à 15:11:41  profilanswer
 

J'ai encore un petit problème. Je crois que je suis un peu fatiguée. Je n'arrive pas à initialiser ma variable avec setDate(new java.sql.Date(java.util.Date))

n°688576
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 31-03-2004 à 15:34:31  profilanswer
 

L'argument que tu dois passer au constructeur de la classe java.sql.Date, c'est ta variable de type java.util.Date et de nom "at". Le code "setDate(new java.sql.Date(java.util.Date))" tel quel ne peut pas fonctionner !

n°688585
lapartdomb​re
Posté le 31-03-2004 à 15:48:50  profilanswer
 

Je crois qu'il faudrait vraiment que j'aille me coucher car j'ai de plus en plus de mal. ESt ce que tu pourrais me donner un exempla avec comme variable
java.util.Date at;
java.sql.Date at2;
 
Merci beaucoup beaucoup

n°688586
darklord
You're welcome
Posté le 31-03-2004 à 15:51:11  profilanswer
 

va te coucher. C'est plus de l'aide qu'on est en train de filer. On est en train de faire le truc pour toi et ca va rien t'apprendre.

n°688588
lapartdomb​re
Posté le 31-03-2004 à 15:52:43  profilanswer
 

je voudrai bien aller me coucher mais je ne peux pas. Je suis en stage et je ne finis qu'à 18h. Comme je suis bloquée je ne peux pas vraiment avancer sinon je ne demanderai pas de l'aide

n°688591
lorill
Posté le 31-03-2004 à 15:54:43  profilanswer
 
n°688602
lapartdomb​re
Posté le 31-03-2004 à 16:08:22  profilanswer
 

Sniff !!!!!!!!!!!!

n°688636
the real m​oins moins
Posté le 31-03-2004 à 16:31:38  profilanswer
 

ET SINON TU SUCES [:autobot]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°688640
uriel
blood pt.2
Posté le 31-03-2004 à 16:33:40  profilanswer
 

[:mlc2]


---------------
IVG en france
n°688649
kadreg
profil: Utilisateur
Posté le 31-03-2004 à 16:40:14  profilanswer
 


 
Fait gaffe, ta seve monte [:iorili]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°688650
HappyHarry
Posté le 31-03-2004 à 16:40:45  profilanswer
 

[:rofl]

n°688651
darklord
You're welcome
Posté le 31-03-2004 à 16:42:07  profilanswer
 

[:serial coder]

n°689130
benou
Posté le 31-03-2004 à 23:12:05  profilanswer
 

lapartdombre a écrit :

ESt ce que tu pourrais me donner un exempla avec comme variable
java.util.Date at;
java.sql.Date at2;


 [:wam]  
 
y a quand même du foutage de gueule là ...

mood
Publicité
Posté le   profilanswer
 


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

  problème de format de date

 

Sujets relatifs
probleme fin de sessionProblème d'affichage du texte sous IE
Probléme de debugTrier par date mais a l'envers ?
problème pour exécuter une appli utilisant une librairie[SQL] Probleme de connexion à une base
Probleme de LINK de Glaux.h pour charger des textures sous VC6.0Probleme d'execution de la commande Unix echo via le perl
probleme de passage de fonction en parametresProblème de conversion de format de date....
Plus de sujets relatifs à : problème de format de date


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