[MySQL / Java] Petit souci avec les champs de type DATE

Petit souci avec les champs de type DATE [MySQL / Java] - SQL/NoSQL - Programmation

Marsh Posté le 06-09-2005 à 12:17:31    

Bonjour à tous,
 
j'ai un petit problème: je développe une appli en java avec une base de données mysql. Dans une table, j'ai un champ de type DATE. Lorsque je récupère les valeurs dans un ResultSet, j'ai une SQLException : "Value '0000-00-00' can not be represented as java.sql.Date"
 
Donc ce que j'ai fait, j'ai mis une valeur par défault (null) sur le champ. Mais lorsque je n'insere pas de date valide, j'ai toujours '0000-00-00' et non NULL :/  
 
Peut-on contourner l'erreur en java? ou bien y a-t-il un moyen en modifiant ma base?
 
Merci d'avance


Message édité par nookonee le 06-09-2005 à 12:18:03
Reply

Marsh Posté le 06-09-2005 à 12:17:31   

Reply

Marsh Posté le 06-09-2005 à 12:59:22    

L'adage bien connu dit : "garbage in, garbage out".
 
Si tes données ne sont pas correctes, n'espère pas obtenir un résultat correct. Commence par modifier tes données, voire la définition de ta table, en tenant compte du fait que les champs "date" donnent parfois du fil à retordre avec MySQL (genre le default = now qui déconne).


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 06-09-2005 à 14:27:41    

Oui c'est un peu casse-bonbon de modifier ma table, mais je crois qu'il ne me reste que ca a faire :( Faut aussi que je revoie mon code java car qu'en on fait:  
 
insert into tests(vDate) value (''); --> j'ai '0000-00-00' comme résultat
 
Par contre quand je fais:
 
insert into tests(vDate) value(); -- j'ai NULL :/
 
Ca va me faire du boulot d'ajouter des conditions sur tous les champs de type DATE de ma base de données  [:bbcmoi]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed