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 :

NetBeans ne m'affiche pas le contenu de ma table : problème ODBC


Sujet :

JDBC Java

  1. #521
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Oui, tout y est créer sauf le chef de chantier :
    Nom : Sans titre.jpg
Affichages : 175
Taille : 235,1 Ko

  2. #522
    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 794
    Points
    4 794
    Par défaut
    D'accord, donc il faut regarder comment la zone activité est mise à jour dans le 1er formulaire (gestion des plans de prévention)
    pour cela, regarde dans les évènements de la JCombobox de "société"
    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. #523
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Les évènements ?
    C'est à dire que je prenne le nom de la combobox et que je recherche dans fenetre (CTRL + F) pour voir ce qu'il ressort ? (c'est assez fastidieux)

  4. #524
    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 794
    Points
    4 794
    Par défaut
    Pas avec Ctrl+F mais avec Alt+F7
    Tu n'as jamais vu d'évènements avant ?
    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. #525
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    je ne pensais pas que ca s'appliquais aussi pour le graphique... je suis un peu perdu excuses moi

    Nom : Sans titre.jpg
Affichages : 216
Taille : 88,5 Ko

    Et donc j'essaye de recopier ce qui s'applique à elle sur l'autre ?
    ==> j'aime pas du tout cette manière de fonctionner...

  6. #526
    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 794
    Points
    4 794
    Par défaut
    Pourtant j'ai bien écrit : regarde dans les évènements de la JCombobox de "société"
    car c'est la mise à jour de cette JCombobox qui provoque l'affichage de l'activité ...
    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. #527
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Ralala je suis vraiment pas doué

    J'ai pris tout le truc : jTabbedPaneInfoSociete (oui je sais, c'est pas ca... je continus)

    J'ai pris ca : jPanelInfoSociete (mais c'est ca ressemble pas à JCombobox non plus... en plus tout est créer par l'appli...)

    J'ai encore cherché mais je seche... je pense pas qu'il ai utilisé un combobox
    Nom : Sans titre.jpg
Affichages : 228
Taille : 146,3 Ko

    J'ai l'impression que ca va saigner

  8. #528
    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 794
    Points
    4 794
    Par défaut
    Et le machin entre le JLabel "Société" (en rouge) et le bouton "Créer" ... ce n'est pas un JComboBox ?
    et il doit avoir un Listener attaché
    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. #529
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Ah un menu déroulant est une combo box ! ok !
    C'est là que c'est interessant, ce n'est pas sur un onClick que l'event se produit.
    D'abord on clique, ca selectionne l'item, ca referme le menu enfin... la combobox et tant qu'on click pas ailleurs, ca rafraîchie pas le jTextFiled.

    Je vais voir en détail comment cette jComboBox réagis...

  10. #530
    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 794
    Points
    4 794
    Par défaut
    tant qu'on click pas ailleurs
    regarde s'il a un évènement .addFocusListener
    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. #531
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Les .addFocusListener sont uniquement créer par l'application, RAS coté développer.

    J'ai trouvé cette fonction :
    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
    private void jComboBoxSocieteRecupererActiviteSociete(java.awt.event.FocusEvent evt) {                                                          
            Societe societeP = new Societe();
            societeP.setNom((String) jComboBoxSociete.getSelectedItem());
            try {
                Connexion connexion     = new Connexion();
                PreparedStatement ps    = connexion.getConnexion().prepareStatement("" +
                    "SELECT ActiviteSociete " +
                    "FROM Societe " +
                    "WHERE NomSociete = ? order by NomSociete;");
                ps.setString(1, societeP.getNom());
                ResultSet resultats = ps.executeQuery();
                resultats.next();
                jTextFieldActivite.setText(resultats.getString(1));
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
    Et j'ai un petit paquet pour l'autre (celui qui pose problème) :
    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
        private void jComboBoxSocieteSTFocusGained(java.awt.event.FocusEvent evt) {                                               
            Utilitaire.remplirComboBox(jComboBoxSocieteST, "SELECT NomSociete FROM Societe order by NomSociete;");
    }                                              
     
        private void jButtonAnnulerSTActionPerformed(java.awt.event.ActionEvent evt) {                                                 
            jDialogAjoutSousTraitant.dispose();
            Utilitaire.reinitialiserTableau((DefaultTableModel)jTableST.getModel());
    }                                                
     
        private void jComboBoxSocieteSTFocusLost(java.awt.event.FocusEvent evt) {                                             
            String nomSociete = (String) jComboBoxSocieteST.getSelectedItem();
            try {
                Connexion connexion     = new Connexion();
                PreparedStatement ps    = connexion.getConnexion().prepareStatement("" +
                    "SELECT ActiviteSociete " +
                    "FROM Societe " +
                    "WHERE NomSociete = ?;");
                ps.setString(1, nomSociete);
                ResultSet resultats = ps.executeQuery();
                resultats.next();
                jTextFieldActivite.setText(resultats.getString(1));
     
                if (resultats.getString(1) == null) {
                    PreparedStatement ps2    = connexion.getConnexion().prepareStatement("" +
                        "SELECT NomCC, PrenomCC " +
                        "FROM ChefChantier " +
                        "WHERE ChefChantier.IdSociete IN (" +
                            "SELECT IdSociete " +
                            "FROM Societe " +
                            "WHERE NomSociete = ?);");
                    ps2.setString(1, nomSociete);
                    ResultSet resultats2 = ps2.executeQuery();
                    resultats2.next();
                    jTextFieldActivite.setText(resultats2.getString(1));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            jTextFieldTelST.setText(ChefChantier.recupererTelCC(jComboBoxChefChantierST));
    }                                            
     
        private void jButtonAjouterSTActionPerformed(java.awt.event.ActionEvent evt) {                                                 
            String societe = (String) jComboBoxSocieteST.getSelectedItem();
            String activite = (String) jTextFieldActiviteST.getText();
            String chefChantier = (String) jComboBoxChefChantierST.getSelectedItem();
            String tel = (String) jTextFieldTelST.getText();
            try {
                if (Societe.rechercherST(jTableST, societe, 0) ==  false) {
                    Societe.ajoutST(jTableST, jLabelErreurAjoutST, jComboBoxSocieteST.getSelectedItem(), jTextFieldActiviteST.getText(), jComboBoxChefChantierST.getSelectedItem(), jTextFieldTelST.getText());
                    jComboBoxSocieteST.setSelectedIndex(-1);
                    jComboBoxChefChantierST.setSelectedIndex(-1);
                    jTextFieldActiviteST.setText(null);
                    jTextFieldTelST.setText(null);
                    try {
                        log.UpdateLog("ajout sous traitants");
                    } catch (FileNotFoundException ex) {
                        Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IOException ex) {
                        Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
                    }
                } else {
                    jDialogErreurDejaPresent.setVisible(true);
                    try {
                        log.UpdateLog("sous traitants déja présent");
                    } catch (FileNotFoundException ex) {
                        Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IOException ex) {
                        Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            } catch(Exception e) {
                e.printStackTrace();
                jDialogErreurChampVide.setVisible(true);
                try {
                    log.UpdateLog("erreur champs vide sous traitants");
                    } catch (FileNotFoundException ex) {
                        Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IOException ex) {
                        Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
            }
    }
    Je pense que ce qui nous intéresse est ici :
    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
        private void jComboBoxSocieteSTFocusLost(java.awt.event.FocusEvent evt) {                                             
            String nomSociete = (String) jComboBoxSocieteST.getSelectedItem();
            try {
                Connexion connexion     = new Connexion();
                PreparedStatement ps    = connexion.getConnexion().prepareStatement("" +
                    "SELECT ActiviteSociete " +
                    "FROM Societe " +
                    "WHERE NomSociete = ?;");
                ps.setString(1, nomSociete);
                ResultSet resultats = ps.executeQuery();
                resultats.next();
                jTextFieldActivite.setText(resultats.getString(1));
     
                if (resultats.getString(1) == null) {
                    PreparedStatement ps2    = connexion.getConnexion().prepareStatement("" +
                        "SELECT NomCC, PrenomCC " +
                        "FROM ChefChantier " +
                        "WHERE ChefChantier.IdSociete IN (" +
                            "SELECT IdSociete " +
                            "FROM Societe " +
                            "WHERE NomSociete = ?);");
                    ps2.setString(1, nomSociete);
                    ResultSet resultats2 = ps2.executeQuery();
                    resultats2.next();
                    jTextFieldActivite.setText(resultats2.getString(1));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            jTextFieldTelST.setText(ChefChantier.recupererTelCC(jComboBoxChefChantierST));
    }
    C'est justement ici que j'ai rajouté la comparaison du null car j'avais une erreur.
    Maintenant que je sais ce qu'est une combo box, j'ai du mal à comprendre pourquoi je peux avoir un résultat null alors que la combo box est rempli d'item résultant d'une requête...

  12. #532
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Post #531, je pense être arrivé à la saturation de notre maître Népomucène

  13. #533
    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 794
    Points
    4 794
    Par défaut
    les trois private void jComboBoxSociete... ne se déclenchent pas tous seuls comme des grands.
    Il sont rattachés à leurs comboBox par addFocusListener (sinon ils ne peuvent pas se déclencher)

    -> dans ton "paquet" n°2 vérifie donc que jComboBoxSocieteSTFocusLost est bien utilisé dans un addFocusListener (Alt+F7 sur jComboBoxSocieteSTFocusLost )
    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/

  14. #534
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Je pense que tu parles de ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            jComboBoxSocieteST.addFocusListener(new java.awt.event.FocusAdapter() {
                public void focusGained(java.awt.event.FocusEvent evt) {
                    jComboBoxSocieteSTFocusGained(evt);
                }
                public void focusLost(java.awt.event.FocusEvent evt) {
                    jComboBoxSocieteSTFocusLost(evt);
                }
            });
    C'est du code généré par l'application (grisé).

  15. #535
    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 794
    Points
    4 794
    Par défaut
    C'est du code généré par l'application (grisé).
    Oui on peut dire à NetBeans de relier directement les listeners.

    Bon, on sait que c'est connecté.
    du coup, c'est jComboBoxSocieteSTFocusLost qui ne se déclenche pas quand tu choisis une société ?
    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/

  16. #536
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Ouais c'est ca, rien ne s'affiche dans la filedTextBox ST.
    Par contre derrière ca se met à jour mais uniquement quand je click sur la fieldtextbox. si je click dans le vert (dans rien) rien ne bouge ...

    Par où commencer à chercher ?

  17. #537
    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 794
    Points
    4 794
    Par défaut
    dans le code, c'est le JTextField jTextFieldActivite qui est rempli et non jTextFieldActiviteST
    Vérifie les noms des JTextField qui sont impactés
    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/

  18. #538
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    C'est parfait, tu m'as encore une fois bien aiguillé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private void jComboBoxSocieteSTFocusLost(java.awt.event.FocusEvent evt) {                                             
            String nomSociete = (String) jComboBoxSocieteST.getSelectedItem();
            try {
                Connexion connexion     = new Connexion();
                PreparedStatement ps    = connexion.getConnexion().prepareStatement("" +
                    "SELECT ActiviteSociete " +
                    "FROM Societe " +
                    "WHERE NomSociete = ?;");
                ps.setString(1, nomSociete);
                ResultSet resultats = ps.executeQuery();
                resultats.next();
                jTextFieldActivite.setText(resultats.getString(1));
                jTextFieldActiviteST.setText(resultats.getString(1));
    J'ai rajouté la dernière ligne.

    maintenant que je sais un peu mieux naviguer entre le GUI et le code, je vais voir pourquoi la liste des chef de chantier ne charge pas !
    Je reviendrais en cas de blocage ! Merci Népo !

  19. #539
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Est il possible d'envoyer une requête préparé en argument ?
    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
        private void jComboBoxCCFocusGained(java.awt.event.FocusEvent evt) {                                        
            String NomSociete       = (String)jComboBoxSociete.getSelectedItem();
            System.out.print(NomSociete);
            try{
                Connexion connexion     = new Connexion();
                PreparedStatement ps    = connexion.getConnexion().prepareStatement("" +
                    "SELECT NomCC, PrenomCC " +
                    "FROM ChefChantier " +
                    "WHERE ChefChantier.IdSociete IN (" +
                        "SELECT IdSociete " +
                        "FROM Societe " +
                        "WHERE NomSociete = ?);");
                ps.setString(1, NomSociete);
                ResultSet resultats = ps.executeQuery();
                boolean resultatOk = resultats.next();
                System.out.print("resultats.getString(1) :"+resultats.getString(1));
                if (resultatOk) {
                    Utilitaire.remplirComboBoxCC(jComboBoxCC, resultats.getString(1));
                }
                jTextFieldTelCC.setText(ChefChantier.recupererTelCC(jComboBoxCC));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    Ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void remplirComboBoxCC(JComboBox j, String query) {
            try {
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet(query);
                j.removeAllItems();
                while (resultats.next()) {
                    j.addItem(resultats.getString(1)+", "+resultats.getString(2));
                }
            } catch (Exception e) {
                e.printStackTrace();
                JOptionPane.showMessageDialog(null,e.getMessage());
            }
        }
    Forcement ma méthode attends une requête et recoit un résultat... ca peut pas aller !

    Elle n'est utilisé que deux fois mais les deux fois nécessite une preprared !
    Je change plutôt la méthode ?

    Je comprend pas trop ce resultats.getString(2), je vais faire un echo pour voir ce que ca dit ...

  20. #540
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Est il possible d'envoyer une requête préparé en argument ?
    Oui, tu peux passer toute genre de type comme paramètre. Mais avec ce que t'as, tu peux appeler la méthode comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String query = "Select * from la_table where nomColonne = '"+resultats.getString(1)+"'";
    Utilitaire.remplirComboBoxCC(jComboBoxCC, query);
    Pourquoi ne pas utiliser une seule requête avec jointure? Au lieu de faire une requête avec sous-requête et d'utiliser son résultat dans une autre requête comme tu le fais, c'est très pénalisant au niveau de performance et aussi difficile à maintenir.

    PS: Ne colorie pas ton code mais utilise un commentaire puisque ça casse toute la coloration syntaxique, je te l'avais déjà fait remarquer.

    A+.

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

Discussions similaires

  1. ListView qui change de taille mais n'affiche pas le contenu d'une ObservableCollection
    Par Atellane dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 14/08/2014, 10h46
  2. DataGrid n'affiche pas le contenu de certaines colonnes d'un Datatable
    Par alucia dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 20/09/2013, 13h39
  3. .load qui n'affiche pas le contenu de la page
    Par tonydu91 dans le forum jQuery
    Réponses: 4
    Dernier message: 06/04/2013, 23h58
  4. [SimpleXML] Problème avec simpleXML : il n'affiche pas le contenu de mon élément
    Par ploxien dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/05/2007, 19h43
  5. GUI Java par netbeans - ne s'affiche pas
    Par G_angel dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 31/01/2007, 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