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

Java Discussion :

Date et JTextField


Sujet :

Java

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut Date et JTextField
    bonjourrr ,

    Si je veux écrire une date (AAAA-MM-JJ) dans une jTextField en java et l'envoyée a une base de donnée Mysql avec une requete INSERT INTO,
    Quoi faire? Quelqu'un peut m'aider??


    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu convertis le String récupérer par ton jTextField en Date à l'aide de SimpleDateFormat et pour insérer dans la table, utilise setDate de ton PreparedStatement.

    A+.

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut
    pouvez-vous m'en donner la stucture du code?
    parce que c'est la première fois que j'utilise SimpleDateFormat et setdate??

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 25
    Par défaut
    Citation Envoyé par joesaab Voir le message
    pouvez-vous m'en donner la stucture du code?
    parce que c'est la première fois que j'utilise SimpleDateFormat et setdate??
    t'oublie ton ami google
    voila http://docs.oracle.com/javase/1.4.2/...ateFormat.html


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");//format 
    String s = sdf.format(new Date());

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateFromTextField = "2012-10-25";
    Date date = sdf.parse(dateFromTextField);
    PreparedStatement preparedStm = connexion.prepareStatement("INSERT into nomTable(nomChampDate) VALUES(?)");
    preparedStm.setDate(1, (new java.sql.Date(date.getTime())));
    preparedStm.executeUpdate();
    Tu trouveras des exemples en recherchant sur google.

    A+.

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
             try
            {
     
                String desc = String.valueOf(indesc2.getText());
                int a=Integer.parseInt(insum2.getText());
     
            Class.forName(driver).newInstance();
            cn=DriverManager.getConnection(url,user,pass);
     
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                String dateFromTextField = "2012-10-25";
                Date date1 = (Date) sdf.parse(dateFromTextField);
                PreparedStatement preparedStm = cn.prepareStatement("INSERT into income(date) VALUES(?)");
                preparedStm.setDate(1, (new Date(date1.getTime())));
                preparedStm.executeUpdate();
     
            cn.close();
     
            }catch(Exception e){
                System.out.println(e);
     
            }
     
        }
    me donne une erreur:
    java.lang.NumberFormatException: For input string: ""

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Regarde la ligne de ton erreur. A priori, je suppose qu'il s'agit de

    int a=Integer.parseInt(insum2.getText());

    ce qui veux dire que tu n'a pas rentré de valeur dans insum2.

    et ton code d'insertion est erroné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                java.util.Date date1 = sdf.parse(dateFromTextField);
                PreparedStatement preparedStm = cn.prepareStatement("INSERT into income(date) VALUES(?)");
                preparedStm.setDate(1, new java.sql.Date(date1.getTime()));
                preparedStm.executeUpdate();

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 25
    Par défaut
    Citation Envoyé par joesaab Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      int a=Integer.parseInt(insum2.getText());
    je crois que le problème viens de cette instruction : t'es sur que insum2 contient bien un String qui peut être convertie en un Integer ???

  9. #9
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut
    le code a réussit avant d'ajouter à la table de la base de donnée une colonne date, et quand je la ajoutée j'ai eu beaucoup d'erreur. et la dernière erreur est celle-la:

    java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

    et le code est celui-la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
             try
            {
     
                String desc = String.valueOf(indesc2.getText());
                int a=Integer.parseInt(insum2.getText());
     
            Class.forName(driver).newInstance();
            cn=DriverManager.getConnection(url,user,pass);
     
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                String dateFromTextField = indate2.getText();
                Date date1 = (Date) sdf.parse(dateFromTextField);
                PreparedStatement preparedStm = cn.prepareStatement("INSERT into income(description,sum,date) VALUES(?,?,?)");
                preparedStm.setDate(1, (new Date(date1.getTime())));
                preparedStm.setString(2, desc);
                preparedStm.setInt(3, a);
                preparedStm.executeUpdate();
            cn.close();
     
            }catch(Exception e){
                System.out.println(e);
     
            }
     
        }

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le message d'erreur est clair, un java.util.Date, ce n'est pas un java.sql.Date.

  11. #11
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    le message d'erreur est clair, un java.util.Date, ce n'est pas un java.sql.Date.
    c'est quoi la difference entre les deux ? et comment cette erreur peut être résolue?

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    la différence: ben c'est pas la même classe.
    la solution: suffit de lire

Discussions similaires

  1. Récupérer une date d'un JTextField
    Par machipot dans le forum NetBeans
    Réponses: 3
    Dernier message: 03/05/2012, 23h00
  2. recuperer jTextField dans un variable date
    Par M77ATTAR dans le forum Composants
    Réponses: 2
    Dernier message: 07/02/2011, 23h29
  3. convertion d'un String en date dans jTextfield
    Par ra'uf dans le forum Composants
    Réponses: 5
    Dernier message: 03/06/2009, 13h29
  4. Réponses: 3
    Dernier message: 06/05/2002, 18h24
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

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