IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Traitement date null


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut Traitement date null
    Bonjour

    Je galère depuis un moment sur le traitement de la date null retournée par mysql. En effet mysql retourne une valeur pour une date null qui provoque systématiquement une exception soit par getdate, getobject.tostring ou en passant par simpledateformat.

    Ma question est comment traiter correctement cette valeur. J'ai un peu tout essayé mais je ne suis pas convaincu.

    Merci de vos réponses

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Un simple test pour vérifier que ta variable n'est pas "null" ne marche pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Date result = recuperationDeTaDateDepuisMySQL();
     
    if(result == null) {
       // on va boire un verre
    } else {
       // on se met à bosser
    }
    Si il est anormal que ta base contienne des valeurs de date "nulles", tu peux lever une Exception: c'est sans doute la manière la plus propre de faire

    Si c'est normal... un test de non nullité suffit
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    J'ai essayé

    if(rs.getDate("dte")==null)
    if(rs.getObject("dte")==null)
    dte = rs.rs.getObject("dte").toString()
    dte = sdf(getObject("dte").toString())
    pour aboutir à
    try{dte = getObject("dte").toString();}catch(final SQLException e){dte = "";}
    puis traiter le valeur de dte

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Avec le debuger tu eux voir le contenu de ton ResultSet peut etre ?

    Et quelle est l'exception qui est declenchee ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Le débuger !! je n'ai jamais réussi à le faire fonctionner. Je mentirai une fois pluis niet niet pourquoi ? je n'ai jamais trouvé de prose sur le sujet donc je me dé.. avec la console.

    donc la console me retourne:

    java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Date

    si tu as un tuyau pour faire fonctionner le débuger eclipse 3.2 je suis preneur. J'ai la fenêtre le démarrage, les points d'arrêt et ça s'arrête là.

  6. #6
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    le problème n'est pas que la date est null mais qu'elle vaut "0000-00-00" !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Traitement de date null sur vba et excel
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2012, 16h44
  2. problème avec les dates nulles
    Par shingo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 30/09/2005, 12h32
  3. [Delphi & DBExpress ] Mettre un champs date à null
    Par falcon dans le forum Bases de données
    Réponses: 10
    Dernier message: 03/11/2004, 08h21
  4. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 08h37
  5. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo