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 :

Suppression de ligne avec JTable


Sujet :

Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Suppression de ligne avec JTable
    Bonjour, je suis novice en java. J'ai crée une application pour les timbres via ce tutoriel. J'ai crée un bouton supprimé dans la fenêtre liste livre (pour moi c'est timbre) afin de pouvoir supprimer une ligne du tableau sélectionnée. Mais je ne sais pas quelle code utiliser et où le mettre?
    .
    J'ai cherché sur internet les codes comme remove, etc...;, Mais ça ne marche pas.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    J'ai pensé ajouter ce code dans fenetrelisteLivre pour supprimer une ligne sélectionnée dans le tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DefaultTableModel model =(DefaultTableModel)myTable.getModel();
      model.removeRow(2);

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Et ça a résolu ton problème ?

    C'est peut-être moi mais je ne trouve pas ta question assez précise. Pourrais tu fournir un peu plus de détails ?
    Par exemple si tu pouvais nous montrer ta méthode d'ajout de ligne au tableau + ta méthode de suppression qui ne fonctionne pas ?
    Obtiens tu une erreur ou es-tu juste bloqué en "page blanche" ?

    Sinon une piste pour ta question "Mais je ne sais pas quelle code utiliser et où le mettre?" --> Si tu utilises netbeans comme dans le tuto vidéo, si tu double clique sur ton bouton "Supprimer" dans netbeans, il va te placer automatiquement dans la méthode appelée lors du clic sur le bouton.

    Et accessoirement je pense que tu ferais mieux de poster ton message dans les forums dédiés au java et non dans la partie "projets".

    Merci.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour, Elsepeth et merci de la réponse.
    Voila mon problème est que je veux supprimer, modifier, une ligne en appuyant sur un bouton supprimer ou modifier. J'utilise netbeans et sql (phpadmin). Voila pour l'instant ce que j'ai fait.
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
     
     
     
     String sql = "DELETE  FROM `outil` WHERE nom_outil='outil B'";
     
       try{
     
            stmt=maconnexion.ObtenirConnexion().createStatement();
     
     
     
     
     
          stmt.executeUpdate(sql);
      }    
     
     
        catch(SQLException ex){
        System.err.println(ex);
        }    
    }                                        
     
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
     
        String wql = "UPDATE  SET nom_outil='outil A'";
     
        try{
     
              stmta=maconnexion.ObtenirConnexion().createStatement();
          stmta.executeUpdate(wql);
     
          }
     
         catch (SQLException ex) {
     
          System.err.println(ex);
     
        }
    }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Et avec ce code, qu'est ce qui ne fonctionne pas ? Tu obtiens une erreur quand tu clique sur l'un des boutons ?

    En parcourant rapidement ton code, on peut déjà voir que tu as un problème sur ta chaîne SQL dans ton UPDATE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String wql = "UPDATE  SET nom_outil='outil A'";
    Une requête UPDATE ne s'écrit pas de cette façon (il te manque la table et les conditions). Je t'invite à regarder ici pour la structure exacte d'un UPDATE.
    A noter que si tu ne mets pas de condition dans ta requête, toutes les entrées de la table seront modifiées.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Elsepeth Voir le message
    Bonjour,

    Et avec ce code, qu'est ce qui ne fonctionne pas ? Tu obtiens une erreur quand tu clique sur l'un des boutons ?

    En parcourant rapidement ton code, on peut déjà voir que tu as un problème sur ta chaîne SQL dans ton UPDATE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String wql = "UPDATE  SET nom_outil='outil A'";
    Une requête UPDATE ne s'écrit pas de cette façon (il te manque la table et les conditions). Je t'invite à regarder ici pour la structure exacte d'un UPDATE.
    A noter que si tu ne mets pas de condition dans ta requête, toutes les entrées de la table seront modifiées.
    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
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
     
     
        UPDATE `outil` SET nom_outil = 'outil C' WHERE fabricant_outil=fabricant A;
        try{
     
              stmta=maconnexion.ObtenirConnexion().createStatement();
     
     
          }
     
         catch (SQLException ex) {
     
          System.err.println(ex);
     
        }
    }
    Cela ne marche pas , on me dit illegal character.

    Je voudrais savoir si il n'y a pas un autre moyen sans être obligé à chaque fois de rentrer dans ma rêquête outil A ou outil B, etc...
    Comment font les professionnels en informatique dans leur application où on sélectionne n'importe quelles ligne du tableau avec la souris puis on appuie sur le bouton supprimer et ça supprime tout de suite.

    Sinon j'aimerais savoir quels codes on utilise pour pour rechercher une ligne dans le tableau.


    Merci encore de l'aide.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 17
    Points
    17
    Par défaut
    C'est tout à fait possible de créer "dynamiquement" ta requête en faisant quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int ligneSelectionne = taJTable.getSelectedRow(); //récupère le numéro de la ligne selectionnée
     
    String outil = taJTable.getValueAt(ligneSelectionne, indexColonne); //penser à remplacer indexColonne par le numéro de la colonne dont tu veux récupérer l'information (première colonne = 0)
     
    stmt=maconnexion.ObtenirConnexion().createStatement();
    String wql = "UPDATE table SET nom_outil=?"; //Penser à ajouter le nom de la table et les conditions de selection
    stmt.setString(1, outil); //Cette instruction remplace le premier "?" trouvé dans la requête par la valeur de outil
    stmt.executeUpdate(wql);

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci il marche.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 17
    Points
    17
    Par défaut
    Pas de soucis, bon courage pour la suite

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    C'est tout à fait possible de créer "dynamiquement" ta requête en faisant quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int ligneSelectionne = taJTable.getSelectedRow(); //récupère le numéro de la ligne selectionnée
     
    String outil = taJTable.getValueAt(ligneSelectionne, indexColonne); //penser à remplacer indexColonne par le numéro de la colonne dont tu veux récupérer l'information (première colonne = 0)
     
    stmt=maconnexion.ObtenirConnexion().createStatement();
    String wql = "UPDATE table SET nom_outil=?"; //Penser à ajouter le nom de la table et les conditions de selection
    stmt.setString(1, outil); //Cette instruction remplace le premier "?" trouvé dans la requête par la valeur de outil
    stmt.executeUpdate(wql);
    Bonjour j'ai essayé votre code que vous avez donne a bobu34 mais ca ne marche pas pour moi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int ligneSelectionne = voiture.getSelectedRow(); 
     
    String voiture = voiture.getValueAt(ligneSelectionne, 0); 
     
    stmt=maconnexion.ObtenirConnexion().createStatement();
    String wql = "UPDATE outil SET nom_voiture=Ford"; 
    stmt.setString(1, voiture)
    stmt.executeUpdate(wql);
    }
    setString, getValueAt, getSelectedRow() marque cannot found symbol

  11. #11
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    setString, getValueAt, getSelectedRow() marque cannot found symbol
    Pour getValueAt et getSelectedRow :
    "voiture" désigne t-il bien un objet JTable ?

    Pour setString :
    cette méthode permet de remplacer la valeur du premier caractère "?" trouvé dans la requête par la chaîne envoyée à la méthode.
    Votre requête String wql = "UPDATE outil SET nom_voiture=Ford"; ne contient pas de point d'interrogation.

    De plus, votre requête UPDATE ne semble pas correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String wql = "UPDATE outil SET nom_voiture=Ford";
    • Le nom de la table en BDD est-il bien "outil" ? Cela ressemble à un mauvais copier/coller
    • Il faut rajouter une clause WHERE avec les conditions de sélection souhaitées afin de ne pas modifier toutes les entrées de la table.


    En somme, votre code avec remarques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int ligneSelectionne = voiture.getSelectedRow(); //Cette méthode ne fonctionne pas car je pense que "voiture" ne désigne pas un objet JTable
     
    String voiture = voiture.getValueAt(ligneSelectionne, 0); //Idem pour cette méthode + penser à remplacer 0 par le bon index de colonne
     
    stmt=maconnexion.ObtenirConnexion().createStatement();
    String wql = "UPDATE nom_table SET nom_voiture=? WHERE conditions"; 
    stmt.setString(1, voiture); //Il manquait un ; ici
    stmt.executeUpdate(wql);
    }
    EDIT : C'est tellement gros que je l'ai pas vu mais bien évidemment vous ne pouvez pas nommer votre chaîne en ligne 2 "voiture" si la JTable en ligne 1 s'appelle déjà "voiture".
    Cela me conforte dans mon idée que "voiture" ne désigne pas un objet JTable.

  12. #12
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut @samo36,

    Ton contexte est probablement différent de celui de @bobu34 : la solution ne s'applique donc pas forcément telle quelle, voire n'est pas du tout adaptée.

    Déjà, si tu posais une question, on pourrait savoir ce que tu cherches à faire (et autant la poser dans une discussion séparée). Ensuite, il faut que tu nous expliques un peu le contexte parce qu'on ne peut pas le deviner.

    • Par exemple, quel est le type de ta variable voiture, qui n'est pas une JTable manifestement ?
    • Il est impossible que String voiture = voiture.getValueAt(ligneSelectionne, 0); compile : si la variable voiture existe, on ne peut pas en déclarer une nouvelle dans le même scope et si elle n'existe pas encore, on ne peut pas l'utiliser...
    • Tu as dû typer stmt en Statement, qui n'a pas de méthode setString() parce que un Statement n'est pas paramétrable (c'est un PreparedStatement qui l'est). Quand on utilise un PreparedStatement, la requête SQL doit comporter des ? là où il y a des paramètres.
    • Il manque quelque chose d'autre dans ta requête, même si c'était du pur SQL : FORD devrait être entre quotes déjà, et là, on modifie l'ensemble des enregistrements, et je doute que ce soit ce que tu veux faire.
    • Il est inutile de nous dire que "ça marche pas" : il faut nous dire ce qu'il se passe, ou ce qu'il ne se passe pas, nous donner les messages d'erreur que tu obtiens, etc.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Bonjour, N'ayant pas eu de réponse plus tôt j'avais soumis à titree indicatif le cas de bobu34 sur un forum anglo-saxon stac...;.
    Il m'avait conseillé cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int ligneSelectionne = JTable.getSelectedRow();
    You can not use abstract
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class private javax.swing.JTable TableO
    util;

    You must use the defined variable TableOutil

    i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nt ligneSelectionne = TableOutil.getSelectedRow(); 
    String outil = TableOutil.getValueAt(ligneSelectionne, 0);
     
    int ligneSelectionne = JTable.getSelectedRow();
    You can not use abstract
    class private javax.swing.JTable TableOutil;
    You must use the defined variable TableOutil

    i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nt ligneSelectionne = TableOutil.getSelectedRow(); 
    String outil = TableOutil.getValueAt(ligneSelectionne, 0);
    Cela avait marcher pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int ligneSelectionne = TableOutil.getSelectedRow(); et String wql = "UPDATE outil SET nom_outil='outil A' ";
    Pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String outil = TableOutil.getValueAt(ligneSelectionne, 0);
    il marque unreported exception java.sql.SQLException; must be caught or declared to be thrown.
    Pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stmt=maconnexion.ObtenirConnexion().createStatement();
    il marque unreported exception java.sql.SQLException; must be caught or declared to be thrown.
    Pour cannot find symbol
    Pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stmt.executeUpdate(wql);
    il marque unreported exception java.sql.SQLException; must be caught or declared to be thrown.
    voila

  14. #14
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Ton message est incompréhensible.

    1. Si tu as des citations (des questions que tu as soumises sur stackoverflow, et des réponses que tu as obtenues) à faire, encadre-les de balises QUOTE, qu'on les distingue du reste ! Et supprime les parties en double !
    2. Ensuite, tu parles d'avoir soumis le cas de @bobu34 à stackoverflow : ça sert à quoi ? C'est le tiens qu'il fallait soumettre. Cela dit, ce code que tu aurais soumis à stackoverflow n'est ni tout-à-fait le même que celui que tu as soumis ici, ni même tout-à-fait le même que celui de @bobu34. Quel est ton code au final qui ne fonctionnerait pas ?


    Pour ce qui est du message d'erreur "unreported exception java.sql.SQLException; must be caught or declared to be thrown", tu l'obtiens parce que la méthode executeUpdate() soulève ce type d'exception (java.sql.SQLException), lorsqu'il y a une erreur d'exécution de la requête SQL. Il faut donc traiter cette exception, soit en l'attrapant (avec un try/catch et un traitement appropiré dans le catch, soit au minimum une trace, pour voir qu'il y a erreur et laquelle le cas échéant), soit en la lançant à la méthode appelante par un throws.

    Quant au problème avec setString(), j'y ai déjà répondu.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Salut,

    Ton message est incompréhensible.

    Si tu as des citations (des questions que tu as soumises sur stackoverflow, et des réponses que tu as obtenues) à faire, encadre-les de balises QUOTE, qu'on les distingue du reste ! Et supprime les parties en double !
    Ensuite, tu parles d'avoir soumis le cas de @bobu34 à stackoverflow : ça sert à quoi ? C'est le tiens qu'il fallait soumettre. Cela dit, ce code que tu aurais soumis à stackoverflow n'est ni tout-à-fait le même que celui que tu as soumis ici, ni même tout-à-fait le même que celui de @bobu34. Quel est ton code au final qui ne fonctionnerait pas ?



    Pour ce qui est du message d'erreur "unreported exception java.sql.SQLException; must be caught or declared to be thrown", tu l'obtiens parce que la méthode executeUpdate() soulève ce type d'exception (java.sql.SQLException), lorsqu'il y a une erreur d'exécution de la requête SQL. Il faut donc traiter cette exception, soit en l'attrapant (avec un try/catch et un traitement appropiré dans le catch, soit au minimum une trace, pour voir qu'il y a erreur et laquelle le cas échéant), soit en la lançant à la méthode appelante par un throws.

    Quant au problème avec setString(), j'y ai déjà répondu.

    Je vais suivre tes recommandations.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    J'ai utilisé la même video que bobu34 pour faire l'application après être tombé sur ce post. Mais j'ai pas réussi à faire le update c'est pour cela que j'ai posté.
    J'ai décidé de passer par prestatemant.

    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
    28
    29
    30
    31
    32
    33
    34
     
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
      int ligneSelectionne = TableOutil.getSelectedRow(); 
    String outil = TableOutil.getValueAt(ligneSelectionne, 0); 
      PreparedStatement stmt = null;
    String wql = "update outil Set nom_outil = ? where nom_outil = ?";
    try {
        maconnexion.setAutoCommit(false);
        stmt = maconnexion.prepareStatement(wql);
        stmt.setString(1, "outil A");
        stmt.setString(2, "outil avant");
        stmt.executeUpdate();
        maconnexion.commit();
        } catch (SQLException e ) {
          JDBCTutorialUtilities.printSQLException(e);
            if (maconnexion != null) {
                try {
                    System.err.print("Transaction is being rolled back");
                    maconnexion.rollback();
                } catch(SQLException excep) {
                    JDBCTutorialUtilities.printSQLException(excep);
                }
            }
        } finally {
            if (stmt != null) {
                stmt.close();
            }
     
        maconnexion.setAutoCommit(true);
        }
     
     
    }
    .
    Par contre j'ai cannot find symbol pour les methodes autocommit, JDBCTutorialUtilities, rollback. Je ne sais pas où je dois mettre leur déclaration méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TypeDeRetour nomDeLaMethode(Type1 argument1, Type2 argument2) {
          liste d'instructions
    }

  17. #17
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    setAutoCommit(), rollback() et commit() sont des méthodes standards de l'interface Java Connection. C'est quoi le type de ta variable maconnexion ? Quelle est sa définition ?

    Pour ce qui de JDBCTutorialUtilities, ce n'est une classe standard du JDK. Elle provient du tutorial Oracle, que tu peux télécharger. Mais elle sert dans le contexte du tutorial Oracle. Tu ne peux reprendre que la méthode que tu appelles (et la mettre par exemple dans ta classe de connection) :
    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
    28
    29
    30
    public static void printSQLException(SQLException ex) {
        for (Throwable e : ex) {
          if (e instanceof SQLException) {
            if (ignoreSQLException(((SQLException)e).getSQLState()) == false) {
              e.printStackTrace(System.err);
              System.err.println("SQLState: " + ((SQLException)e).getSQLState());
              System.err.println("Error Code: " + ((SQLException)e).getErrorCode());
              System.err.println("Message: " + e.getMessage());
              Throwable t = ex.getCause();
              while (t != null) {
                System.out.println("Cause: " + t);
                t = t.getCause();
              }
            }
          }
        }
      }
    public static boolean ignoreSQLException(String sqlState) {
        if (sqlState == null) {
          System.out.println("The SQL state is not defined!");
          return false;
        }
        // X0Y32: Jar file already exists in schema
        if (sqlState.equalsIgnoreCase("X0Y32"))
          return true;
        // 42Y55: Table already exists in schema
        if (sqlState.equalsIgnoreCase("42Y55"))
          return true;
        return false;
      }
    Ou tout simplement appeler printStackTrace() sur l'exception, ça te donnera normalement sufffisement d'informations en cas d'exception dans le cadre de ton programme.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    setAutoCommit(), rollback() et commit() sont des méthodes standards de l'interface Java Connection. C'est quoi le type de ta variable maconnexion ? Quelle est sa définition ?
    maconnexion est un objet de type connexion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class FenetreAjoutOutil extends javax.swing.JFrame {
     
        Statement  stmt;
        Connexion maconnexion = new Connexion();
        private Component mainFrame;

    Je n'ai pas compris quand tu dis
    Tu ne peux reprendre que la méthode que tu appelles (et la mettre par exemple dans ta classe de connection)
    .

    Où je met ce code et à quoi sert_il?

    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
    28
    29
    30
    public static void printSQLException(SQLException ex) {
        for (Throwable e : ex) {
          if (e instanceof SQLException) {
            if (ignoreSQLException(((SQLException)e).getSQLState()) == false) {
              e.printStackTrace(System.err);
              System.err.println("SQLState: " + ((SQLException)e).getSQLState());
              System.err.println("Error Code: " + ((SQLException)e).getErrorCode());
              System.err.println("Message: " + e.getMessage());
              Throwable t = ex.getCause();
              while (t != null) {
                System.out.println("Cause: " + t);
                t = t.getCause();
              }
            }
          }
        }
      }
    public static boolean ignoreSQLException(String sqlState) {
        if (sqlState == null) {
          System.out.println("The SQL state is not defined!");
          return false;
        }
        // X0Y32: Jar file already exists in schema
        if (sqlState.equalsIgnoreCase("X0Y32"))
          return true;
        // 42Y55: Table already exists in schema
        if (sqlState.equalsIgnoreCase("42Y55"))
          return true;
        return false;
      }
    Merci de votre patience avec moi car ce n'est pas facile quand on est debutant.

  19. #19
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par samo36 Voir le message
    maconnexion est un objet de type connexion.
    connexion n'est pas une classe standard du JDK : c'est donc à priori une classe que tu as écrite (et si je peux avoir une idée de ce que tu as mis dans cette classe, si tu m'en donnes pas le code complet exact, je ne peux rien faire d'autres que des suppositions, ce qui ne me permet pas de te donner d'explications plus précises), qui contient un objet de classe typé java.sql.Connection, qui elle a les méthodes que tu essaies d'appeler. Si tu peux appeler dans ton code une méthode appelée prepareStatement sur objet de classe connexion, c'est que tu as écrit une méthode prepareStatement dans ta classe connexion, et que dans cette méthode tu appelles la méthode prepareStatement d'une instance typée java.sql.Connection. Et bien, pour pouvoir appeler une autre méthode de java.sql.Connection sur un objet de classe connexion, il suffit de faire exactement pareil que tu as fait pour prepareStatement.

    Citation Envoyé par samo36 Voir le message
    Je n'ai pas compris quand tu dis
    Tu ne peux reprendre que la méthode que tu appelles (et la mettre par exemple dans ta classe de connection)
    .
    Où je met ce code et à quoi sert_il?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static void printSQLException(SQLException ex) {
         /* ... */
      }
    .

    Là, dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    } catch (SQLException e ) {
          JDBCTutorialUtilities.printSQLException(e);
    Tu appelles une méthode statique appelée printSQLException sur une classe JDBCTutorialUtilities.
    Or tu dis dans ton message :
    Citation Envoyé par samo36 Voir le message
    Par contre j'ai cannot find symbol pour les methodes autocommit, JDBCTutorialUtilities, rollback.
    Ce qui veut dire que cette classe JDBCTutorialUtilities n'est pas ton projet (probablement parce que tu as recopié le code de ton collègue @bobu34 sans comprendre qu'il utilisait une autre classe) : cette classe, comme je te disais, provient du tutoriel Oracle. Or tu n'appelles que la méthode printSQLException() de cette classe, donc tu n'as pas besoin de la classe entière qui n'a aucun intérêt pour ton programme puisqu'elle a été faite pour un autre programme, celui du tutoriel d'Oracle. A part cette méthode pour afficher une exception SQL, que tu utilises justement, et qu'il te suffit de mettre dans n'importe quelle classe et de l'appeler : mais tu peux la mettre dans une classe que tu appelles JDBCTutorialUtilities si tu veux, ou dans ta classe connexion par exemple, pourquoi pas (mais il faudra modifier l'appel évidement, puisque la classe ne sera pas JDBCTutorialUtilities).

    Citation Envoyé par samo36 Voir le message
    Merci de votre patience avec moi car ce n'est pas facile quand on est debutant.
    Il y a des bases minimales sans lesquelles il est impossible de programmer en Java (ou pour faire n'importe quoi d'autre d'ailleurs) : en particulier comprendre les concepts de classe, de méthode et d'appel de méthode. Quand tu vois une expression du type JDBCTutorialUtilities.printSQLException(e), si tu n'as pas immédiatement le réflexe de voir qu'on appelle une méthode statique appelée printSQLException() sur une classe appellée JDBCTutorialUtilities en passant la variable e en argument de cette méthode, alors il faut revoir les bases de Java. Inutile d'essayer d'écrire un programme de gestion. Et ce ne sera pas formateur de reprendre le code de quelqu'un d'autre si tu ne comprends pas ce que fait ce code en lisant.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Je vais essayer ce que tu m as dit et voila tous les codes du reste de mon programme désolé si ça fait un peu barbare mais c'est pour trouver la solution au problème qui dure.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    /*
     * GestionOutilbricolageApp.java
     */
     
    package gestionoutilbricolage;
     
    import org.jdesktop.application.Application;
    import org.jdesktop.application.SingleFrameApplication;
     
    /**
     * The main class of the application.
     */
    public class GestionOutilbricolageApp extends SingleFrameApplication {
     
        /**
         * At startup create and show the main frame of the application.
         */
        @Override protected void startup() {
            show(new GestionOutilbricolageView(this));
        }
     
        /**
         * This method is to initialize the specified window by injecting resources.
         * Windows shown in our application come fully initialized from the GUI
         * builder, so this additional configuration is not needed.
         */
        @Override protected void configureWindow(java.awt.Window root) {
        }
     
        /**
         * A convenient static getter for the application instance.
         * @return the instance of GestionOutilbricolageApp
         */
        public static GestionOutilbricolageApp getApplication() {
            return Application.getInstance(GestionOutilbricolageApp.class);
        }
     
        /**
         * Main method launching the application.
         */
        public static void main(String[] args) {
            launch(GestionOutilbricolageApp.class, args);
        }
    }

    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
    /*
     * GestionOutilbricolageAboutBox.java
     */
     
    package gestionoutilbricolage;
     
    import org.jdesktop.application.Action;
     
    public class GestionOutilbricolageAboutBox extends javax.swing.JDialog {
     
        public GestionOutilbricolageAboutBox(java.awt.Frame parent) {
            super(parent);
            initComponents();
            getRootPane().setDefaultButton(closeButton);
        }
     
        @Action public void closeAboutBox() {
            dispose();
     
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton closeButton;
        // End of variables declaration                   
     
    }
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    package gestionoutilbricolage;
     
    import org.jdesktop.application.Action;
    import org.jdesktop.application.ResourceMap;
    import org.jdesktop.application.SingleFrameApplication;
    import org.jdesktop.application.FrameView;
    import org.jdesktop.application.TaskMonitor;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Timer;
    import javax.swing.Icon;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
     
    /**
     * The application's main frame.
     */
    public class GestionOutilbricolageView extends FrameView {
     
        public GestionOutilbricolageView(SingleFrameApplication app) {
            super(app);
     
            initComponents();
     
            // status bar initialization - message timeout, idle icon and busy animation, etc
            ResourceMap resourceMap = getResourceMap();
            int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
            messageTimer = new Timer(messageTimeout, new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    statusMessageLabel.setText("");
                }
            });
            messageTimer.setRepeats(false);
            int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
            for (int i = 0; i < busyIcons.length; i++) {
                busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
            }
            busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                    statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
                }
            });
            idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
            statusAnimationLabel.setIcon(idleIcon);
            progressBar.setVisible(false);
     
            // connecting action tasks to status bar via TaskMonitor
            TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
            taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
                public void propertyChange(java.beans.PropertyChangeEvent evt) {
                    String propertyName = evt.getPropertyName();
                    if ("started".equals(propertyName)) {
                        if (!busyIconTimer.isRunning()) {
                            statusAnimationLabel.setIcon(busyIcons[0]);
                            busyIconIndex = 0;
                            busyIconTimer.start();
                        }
                        progressBar.setVisible(true);
                        progressBar.setIndeterminate(true);
                    } else if ("done".equals(propertyName)) {
                        busyIconTimer.stop();
                        statusAnimationLabel.setIcon(idleIcon);
                        progressBar.setVisible(false);
                        progressBar.setValue(0);
                    } else if ("message".equals(propertyName)) {
                        String text = (String)(evt.getNewValue());
                        statusMessageLabel.setText((text == null) ? "" : text);
                        messageTimer.restart();
                    } else if ("progress".equals(propertyName)) {
                        int value = (Integer)(evt.getNewValue());
                        progressBar.setVisible(true);
                        progressBar.setIndeterminate(false);
                        progressBar.setValue(value);
                    }
                }
            });
        }
     
        @Action
        public void showAboutBox() {
            if (aboutBox == null) {
                JFrame mainFrame = GestionOutilbricolageApp.getApplication().getMainFrame();
                aboutBox = new GestionOutilbricolageAboutBox(mainFrame);
                aboutBox.setLocationRelativeTo(mainFrame);
            }
            GestionOutilbricolageApp.getApplication().show(aboutBox);
        }
     
     
     
     
    private void BtnAjouterOutilActionPerformed(java.awt.event.ActionEvent evt) {                                                
    // TODO add your handling code here:
        FenetreAjoutOutil appelfenetre = new FenetreAjoutOutil();
        appelfenetre.setVisible(true);
    }                                               
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
        FenetreListeOutil appelfenetreListeOutil = new FenetreListeOutil();
        appelfenetreListeOutil.setVisible(true);
    }                                        
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton BtnAjouterOutil;
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel mainPanel;
        private javax.swing.JMenuBar menuBar;
        private javax.swing.JProgressBar progressBar;
        private javax.swing.JLabel statusAnimationLabel;
        private javax.swing.JLabel statusMessageLabel;
        private javax.swing.JPanel statusPanel;
        // End of variables declaration                   
     
        private final Timer messageTimer;
        private final Timer busyIconTimer;
        private final Icon idleIcon;
        private final Icon[] busyIcons = new Icon[15];
        private int busyIconIndex = 0;
     
        private JDialog aboutBox;
    }

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    package gestionoutilbricolage;
    import java.awt.Component;
    import java.sql.*;
    import javax.swing.JOptionPane;
     
    public class FenetreAjoutOutil extends javax.swing.JFrame {
     
        Statement  stmt;
        Connexion maconnexion = new Connexion();
        private Component mainFrame;
     
        /** Creates new form FenetreAjoutOutil */
        public FenetreAjoutOutil() {
            initComponents();
        }
     
     
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
        String  nomOutil = JTNomOutil.getText();
        String  fabricantOutil = JTFabricantOutil.getText();
        String  anneeFabrication = JTAnneeFabrication.getText();
        String  prix = JTPrix.getText();
     
        String  requete = "INSERT INTO OUTIL(nom_outil,fabricant_outil,annee_fabrication,prix_outil) VALUES('"+nomOutil+"','"+fabricantOutil+"','"+anneeFabrication+"','"+prix+"')";
        try{
            stmt = maconnexion.ObtenirConnexion().createStatement();
            //stmt.executeQuery(requete);// executeQuery ne passe pas pour l'insertion d'une valeur dans une base MySQL
            stmt.executeUpdate(requete);
     
            JOptionPane.showMessageDialog(mainFrame, "Votre requête a été exécuté" );
            JTNomOutil.setText("");
            JTFabricantOutil.setText("");
            JTAnneeFabrication.setText("");
            JTPrix.setText("");
     
     
        }   
     
        catch(SQLException ex){
        System.err.println(ex);
        }
    }                                        
     
     
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(FenetreAjoutOutil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(FenetreAjoutOutil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(FenetreAjoutOutil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(FenetreAjoutOutil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
     
                public void run() {
                    new FenetreAjoutOutil().setVisible(true);
                }
            });
        }
        // Variables declaration - do not modify                     
        private javax.swing.JTextField JTAnneeFabrication;
        private javax.swing.JTextField JTFabricantOutil;
        private javax.swing.JTextField JTNomOutil;
        private javax.swing.JTextField JTPrix;
        private javax.swing.JButton jButton1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JPanel jPanel1;
        // End of variables declaration                   
    }
    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
    package gestionoutilbricolage;
    import java.sql.*;
     
    public class Connexion  {
     
        String urlPilote="com.mysql.jdbc.Driver";//Direction pour charger le pilote
        String urlBasedonnees="jdbc:mysql://localhost:3306/bdboiteoutil";// Direction pour la connexion à la base de données
        Connection con;
        public Connexion () {
        //On charge  notre pilote
        try{
           Class.forName(urlPilote);
           System.out.println("Le pilote est chargé");
          }
        catch(ClassNotFoundException ex){
          System.out.println(ex);
         }
        // On se connecte à la base de donnée
        try{
            con=DriverManager.getConnection(urlBasedonnees,"root","");
            System.out.println("La Base de données est chargé");
        }
     
        catch(SQLException  ex){
            System.out.println(ex);
        }
            }

    SQLcommand1
    ;

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Suppression de lignes avec critère
    Par crespo12 dans le forum Lisp
    Réponses: 1
    Dernier message: 28/03/2012, 13h01
  2. [XL-2003] Macro de suppression de ligne avec un mot
    Par harisman87 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/07/2010, 17h50
  3. [WD-2007] Modèle Word - Suppression de ligne avec puce si vide
    Par vincent DD dans le forum Word
    Réponses: 1
    Dernier message: 26/08/2009, 23h14
  4. Suppression des lignes avec condition
    Par tientinou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/03/2009, 13h35
  5. suppression des lignes avec sed
    Par dngaya dans le forum Linux
    Réponses: 1
    Dernier message: 29/09/2008, 22h23

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