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 :

[BDD] de java.util.Date à Timestamp d'une base de données


Sujet :

JDBC Java

  1. #1
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut [BDD] de java.util.Date à Timestamp d'une base de données
    Bonjour,

    lorsque je met à jour une info dans une table, je fais une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update .... set datemaj = current_timestamp, ...
    ce qui permet de connaître la date de dernière modif des infos.

    Mais dans un cas précis je veux insérer une Date que je connais.
    J'ai un java.util.Date, mais je n'arrive pas à l'insérer dans mon champ de type TIMESTAMP(14).

    Tout simplement : comment faire ?

    J'ai essayé avec madate.getTime() (qui retourne un long) mais ça insère que des 00000000....
    Membre éclairé, lol !

  2. #2
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    jddb a une type Date. Utilise-le...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    java.sql.Date date = new java.sql.Date(new java.util.Date().getTime());
    prepStmt.setDate(1, date);
    prepStmt.executeUpdate();
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  3. #3
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    oui mais là je passe pas par un PreparedStatement, je fais un
    String req = "update...";

    donc je suis obligé de transformer ça en String...

    le java.sql.Date formatte ça en yyyy-mm-dd

    J'ai essayé un java.sql.Timestamp avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Timestamp ts = new Timestamp(madate.getTime());
    req += ts.toString();
    mais ça me met du genre 15:53:17,0...

    Dans la doc de java.sql.Timestamp,
    String toString()
    Formats a timestamp in JDBC timestamp escape format.
    bon là j'essaye avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
    Timestamp ts = new Timestamp(madate.getTime());
    req += "DATEMAJ="+sdf.format(ts)+...;
    Membre éclairé, lol !

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    Je ne sais pas si c'est ce que tu cherches à faire....
    et sous quel base de données tu es..

    Moi je récupère la date en type java.sql.Date

    et j'ai fais une p'tite méthode qui me la met en String au format dd/mm/yyyy


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static String getDateString (Date date){
      String dateString = date.toString(); // met au format yyyy-mm-dd
      dateString = dateString.substring(8,10)+"/"+dateString.substring(5,7)+"/"+dateString.substring(0,4);
      return dateString;
    }
    et apres pour l'insérer ou mettre a jour dans ma base je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     to_date('"+getDateString(sqlDate)+"','dd/mm/yyyy') .... etc
    sqlDate étant ta date de type java.sql.Date

    Voila, j'ai eu ce pb de date aussi mais je sais si c'est ce que tu cherches...


    [/code]
    "Plus on fait de conneries, moins on en aura à faire...."

  5. #5
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    je suis plus devant mon code mais je crois que mon truc avec le SimpleDateFormat ça marche
    aller hop, tag [résolu] j'ai oublié de le mettre hier kan ça a marché
    Membre éclairé, lol !

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

Discussions similaires

  1. [MySQL] Remplacer une date incrémentée dans une base de donnée [mysql]
    Par Mousshaker dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 16/12/2014, 14h27
  2. Afficher la date issue d'une base de donnée
    Par lecaire dans le forum Langage
    Réponses: 7
    Dernier message: 13/07/2009, 17h44
  3. Afficher date démarage d'une base de données
    Par julien0709 dans le forum Débuter
    Réponses: 3
    Dernier message: 02/06/2008, 16h54
  4. Réponses: 1
    Dernier message: 11/11/2007, 17h54
  5. Réponses: 2
    Dernier message: 23/05/2007, 17h51

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