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 :

Probléme Insertion Date


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 21
    Points
    21
    Par défaut Probléme Insertion Date
    Bonjour tout le monde.

    Comme l'indique le titre de mon post , j'ai un problème dans l'insertion d'une date a ma base de donnée.

    Plus précis, je veux inserer la date d'un fichier : Voilà un bout du code




    import java.util.Date;
    ...

    java.util.Date d = new Date(this.file.lastModified());
    psmnt = connection.prepareStatement("insert into test_f(name, img,date_id,extension,type_nom,categorie,size_id) "+ "values(?,?,?,?,?,?,?)");
    psmnt.setString(1,name);

    psmnt.setDate(3,new java.sql.Date(d));
    ...

    J'ai essayer aussi avec:


    public Date getFormatedDate() {
    Date d = new Date(this.file.lastModified());
    return d;
    }


    {
    ... Extension D = new Extension ();
    X = d.getFormatedDate();
    psmnt = connection.prepareStatement("insert into test_f(name, img,date_id,extension,type_nom,categorie,size_id) "+ "values(?,?,?,?,?,?,?)");
    psmnt.setString(1,name);

    psmnt.setDate(3,new java.sql.Date(X));


    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Et le message d'erreur c'est quoi ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Comme message d'erreur j'ai ça :

    no suitable constructor found for Date(java.util.Date)
    constructor java.sql.Date.Date(long) is not applicable
    (actual argument java.util.Date cannot be converted to long by method invocation conversion)
    constructor java.sql.Date.Date(int,int,int) is not applicable
    (actual and formal argument lists differ in length)


    ( ça se compile pas )

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Ah ben oui : il faut lui passer un long qui représente la date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.util.Date d = new Date(this.file.lastModified());
    psmnt = connection.prepareStatement("insert into test_f(name, img,date_id,extension,type_nom,categorie,size_id) "+ "values(?,?,?,?,?,?,?)");
    psmnt.setString(1,name);
    
    psmnt.setDate(3,new java.sql.Date(d.getTime()));
    Faut pas hésiter à regarder la doc dans ces cas-là !!!!
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Ah ben oui : il faut lui passer un long qui représente la date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.util.Date d = new Date(this.file.lastModified());
    psmnt = connection.prepareStatement("insert into test_f(name, img,date_id,extension,type_nom,categorie,size_id) "+ "values(?,?,?,?,?,?,?)");
    psmnt.setString(1,name);
    
    psmnt.setDate(3,new java.sql.Date(d.getTime()));
    Faut pas hésiter à regarder la doc dans ces cas-là !!!!

    Merci pour votre réponse ,ça marché , j'arrive a stocké la date sous format YYYY/MM/DD , si je veux de plus H:MM:SS ?

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Il faut utiliser Timestamp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.util.Date d = new Date(this.file.lastModified());
    psmnt = connection.prepareStatement("insert into test_f(name, img,date_id,extension,type_nom,categorie,size_id) "+ "values(?,?,?,?,?,?,?)");
    psmnt.setString(1,name);
    
    psmnt.setDate(3,new java.sql.Timestamp(d.getTime()));
    Là encore, se souvenir que regarder la doc ne provoque pas de maladie grave et honteuse.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Il faut utiliser Timestamp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.util.Date d = new Date(this.file.lastModified());
    psmnt = connection.prepareStatement("insert into test_f(name, img,date_id,extension,type_nom,categorie,size_id) "+ "values(?,?,?,?,?,?,?)");
    psmnt.setString(1,name);
    
    psmnt.setDate(3,new java.sql.Timestamp(d.getTime()));
    Là encore, se souvenir que regarder la doc ne provoque pas de maladie grave et honteuse.
    ça affiche ce message d'erreur ^^ :

    no suitable method found for setDate(int,java.sql.Timestamp)
    method java.sql.PreparedStatement.setDate(int,java.sql.Date,java.util.Calendar) is not applicable
    (actual and formal argument lists differ in length)
    method java.sql.PreparedStatement.setDate(int,java.sql.Date) is not applicable
    (actual argument java.sql.Timestamp cannot be converted to java.sql.Date by method invocation conversion)

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Eh oui !

    alors devinette : en lisant bien les messages d'erreurs, où est la boulette que j'ai faite ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Eh oui !

    alors devinette : en lisant bien les messages d'erreurs, où est la boulette que j'ai faite ?
    lol

    ps.setTimestamp(2,new java.sql.Timestamp(d.getTime()));

    Merci beaucoup , et fallait que je change le type de ma colonne date à TIMESTAMP .

  10. #10
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Eh ben voilà !

    par contre, je vois que tu as décalé la colonne qui est passée 3 à 2.

    avant :
    psmnt.setDate(3,new java.sql.Date(d));

    après :
    ps.setTimestamp(2,new java.sql.Timestamp(d.getTime()));

    as-tu modifié la place de la date dans le preparedStatement ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Eh ben voilà !

    par contre, je vois que tu as décalé la colonne qui est passée 3 à 2.

    avant :
    psmnt.setDate(3,new java.sql.Date(d));

    après :
    ps.setTimestamp(2,new java.sql.Timestamp(d.getTime()));

    as-tu modifié la place de la date dans le preparedStatement ?

    Oué j'ai changé de tableau pour faire le test.
    Merci encore

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

Discussions similaires

  1. Problème insertion date
    Par mbenameur dans le forum JDBC
    Réponses: 6
    Dernier message: 13/05/2015, 19h31
  2. [A-03] Problème insert into et date
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2008, 08h17
  3. [MySQL] Affichage et insertion date ok,mais problème pour modifier
    Par philippef dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/07/2008, 08h07
  4. Problème insertion date dans base Access
    Par pep972 dans le forum JDBC
    Réponses: 2
    Dernier message: 13/06/2008, 11h15
  5. Problème insertion date sous MsSql
    Par MaitreTsiang dans le forum Zend Framework
    Réponses: 2
    Dernier message: 11/10/2007, 12h42

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