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 :

[j2ee][mysql] Pb d'insertion d'une Heure


Sujet :

JDBC Java

  1. #1
    Membre régulier Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Points : 74
    Points
    74
    Par défaut [j2ee][mysql] Pb d'insertion d'une Heure
    Bonjour,

    Voilà un bon moment que je m'évertue à essayer d'insérer un champ date et un champ heure dans une BDD MySQL 5.0.

    Voilà ce que je fais :

    - J'ai une table comportant : un champ Rdate de type sql DATE et un champ Rtime de type sql TIME.

    Dans mon programme je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    java.sql.Date maDate = rep.getDate();    // me renvoie 2006-07-04
    java.sql.Time monHeure = rep.getTime()  // me renvoie 15:41:04
    etc. ..........
    pstmt.setDate(2, maDate);
    pstmt.setTime(3, monHeure);
    etc. ..........
    pstmt.execute();
    L'ennui c'est que, si l'insertion en BDD est effectuée, les champs récupérés sont ceux-ci :

    ----------------------
    | Rdate | 4 juil. 2006 | --> Ca c'est parfait
    ----------------------
    | Rtime | 1 janv. 1970 | --> La je suis contrariée
    -----------------------

    D'après le manuel de référence de MySQL :

    Attention à certains pièges concernant les spécifications de dates :

    La syntaxe à délimiteur libre peut être une source de problème. Par exemple, une valeur telle que ‘10:11:12’ ressemble à une heure, à cause du délimiteur `‘:’', mais avec une colonne de date, elle sera interprétée comme la date ‘2010-11-12’. La valeur ‘10:45:15’ sera convertie en ‘0000-00-00’ car ‘45’ n'est pas un mois valide.

    Du coup, comment j'arrange mes affaires dans mon code source ?

    Merci de votre aide !

  2. #2
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    Salut !

    En parcourant le manuel de MySQL, on voit qu'un champ de type Time peut être initialisé, entre autres, par : "Une chaîne sans délimiteur au format 'HHMMSS'".

    Tu dis que tu as ton temps au format "HH:MM:SS" maintenant ? Un recours à String.replaceAll() est de mise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String temps = "12:04:23";
    String tempsSQL = temps.replaceAll(":", ""); // donnera 120423
    Wookai


  3. #3
    Membre régulier Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Points : 74
    Points
    74
    Par défaut
    Merci, je n'avais même pas vu que le format HHMMSS était utilisable !

    Gros gros merci !

  4. #4
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    Pas de problème, ça fait plaisir !

    N'oublie pas le tag [Résolu] !
    Wookai


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

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/11/2012, 09h53
  2. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15
  3. insertion dans une DB mySQL
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 3
    Dernier message: 13/10/2005, 21h14
  4. Insertion d'une image dans la une base mysql...
    Par Angeldu74 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/06/2005, 14h00
  5. [Date][SQL date][Format] insertion d'une heure
    Par goulime dans le forum JDBC
    Réponses: 11
    Dernier message: 26/01/2004, 11h38

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