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

AWT/Swing Java Discussion :

Requête et Syntaxe


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Requête et Syntaxe
    Bonjour,

    J'essaye d'ajouter une entrée dans mes 4 champs et je n'y arrive pas sachant que IdentC (clef étrangère) est une liste déroulante et n'affiche pas du tout les éléments qu'il faut... Je pense que mon soucis vient de la syntaxe ?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public boolean insertAlbum (Album alb)
        {
     
            boolean ok = ConnexionMySQL.getInstance().actionQuery("Insert into album (CodeA, TitreA, SortieA, IdentC) values ('" + alb.getCodeA() + "','" + alb.getTitreA() +
            "'," + alb.getSortieA() + "," + alb.getCatApp().getIdentC() + ")");
     
            return ok;
        }

  2. #2
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu parles de la combo qui affiche transfertObject.Chanteur@xxxx ? C'est un problème de renderer. Le renderer par défaut utilise un toString() pour faire le rendu de l'item dans la liste. Si tu implémentes toString() sur ta classe Chanteur, tu auras son résultat affiché. Tu peux également implémenter un ListCellRenderer pour avoir le rendu que tu veux.

    Par ailleurs, je ne sais pas pourquoi tu nous montres ton code d'insert, mais pense à utiliser plutôt des PreparedStatement...
    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.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Tu parles de la combo qui affiche transfertObject.Chanteur@xxxx ? C'est un problème de renderer. Le renderer par défaut utilise un toString() pour faire le rendu de l'item dans la liste. Si tu implémentes toString() sur ta classe Chanteur, tu auras son résultat affiché. Tu peux également implémenter un ListCellRenderer pour avoir le rendu que tu veux.

    Par ailleurs, je ne sais pas pourquoi tu nous montres ton code d'insert, mais pense à utiliser plutôt des PreparedStatement...
    Bonjour Joel.Drigo,

    Effectivement je me suis aperçu tout à l'heure que je n'avais pas implémenter de toString() dans ma classe Chanteur , je viens de l'ajouter à la fin...
    Par ailleurs, mon message d'erreur est "at presentation.JDAlbuInsert.fillComponents(JDAlbuInsert.java:146)" je n'arrive toujours pas à charger ma liste déroulante... Voici comment je pensais parcourir ma liste, mais il s'agit d'un soucis d'affichage c'est bien ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void fillComponents()
        {
            /* charger toutes les chanteurs */
     
            ArrayList <Chanteur> cha = daoCha.selectChanteurs();
            for (int i=0;i<cha.size();i++)
                jComboCha.addItem(cha.get(i));
     
        }
    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
    public class Chanteur {
        private int identC; 
        private String nomC; 
        private String prenomC; 
        private String sexeC; 
        private Date NaissC;
     
        public int getIdentC() {
            return identC;
        }
     
        public void setIdentC(int identC) {
            this.identC = identC;
        }
     
        public Chanteur(int identC, String nomC, String prenomC, String sexeC, Date NaissC) {
            this.identC = identC;
            this.nomC = nomC;
            this.prenomC = prenomC;
            this.sexeC = sexeC;
            this.NaissC = NaissC;
        }
     
        public String getNomC() {
            return nomC;
        }
     
        public void setNomC(String nomC) {
            this.nomC = nomC;
        }
     
        public String getPrenomC() {
            return prenomC;
        }
     
        public void setPrenomC(String prenomC) {
            this.prenomC = prenomC;
        }
     
        public String getSexeC() {
            return sexeC;
        }
     
        public void setSexeC(String sexeC) {
            this.sexeC = sexeC;
        }
     
        public Date getNaissC() {
            return NaissC;
        }
     
        public void setNaissC(Date NaissC) {
            this.NaissC = NaissC;
        }
     
        public String toString() {
            return nomC;
        }
     
     
     
    }
    Citation Envoyé par joel.drigo Voir le message
    Par ailleurs, je ne sais pas pourquoi tu nous montres ton code d'insert, mais pense à utiliser plutôt des PreparedStatement...
    Je pensais au départ que ça venait de ma requête mais pas du tout, je verrais pour PreparedStatement un petit peu après avoir résolu mon petit soucis mais merci du tuyau

  4. #4
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Par ailleurs, mon message d'erreur est "at presentation.JDAlbuInsert.fillComponents(JDAlbuInsert.java:146)" je n'arrive toujours pas à charger ma liste déroulante...
    Il y a toujours plusieurs lignes dans une stacktrace, dont la première donne le type d'erreur, plus qu'utile. Avec ce que tu nous montres, on ne peut pas t'aider.
    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.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Désolé, merci encore pour ton aide.

    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
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    public class JDAlbuInsert extends javax.swing.JDialog {
     
        /** Creates new form JDApparInsert */
        public JDAlbuInsert(java.awt.Frame parent, String titre) {
            super(parent, titre, true);
            initComponents();
            fillComponents();
            getRootPane().setDefaultButton(jButtonOK);
            setLocation(parent.getX()+parent.getWidth()/3, parent.getY()+parent.getHeight()/3);
            setVisible(true);
        }
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            jPanel1 = new javax.swing.JPanel();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
            jTextIdent = new javax.swing.JTextField();
            jTextTitre = new javax.swing.JTextField();
            jComboCha = new javax.swing.JComboBox();
            jDateChooserDate = new com.toedter.calendar.JDateChooser();
            jPanel2 = new javax.swing.JPanel();
            jButtonOK = new javax.swing.JButton();
            jButtonAnnul = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
     
            jLabel1.setText("Ident");
     
            jLabel2.setText("Description");
     
            jLabel3.setText("Date");
     
            jLabel4.setText("Nom");
     
            jDateChooserDate.setDateFormatString("dd-MM-yyyy");
     
            org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                        .add(jLabel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(jLabel1)
                        .add(jLabel3)
                        .add(jLabel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .add(11, 11, 11)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                        .add(jComboCha, 0, 200, Short.MAX_VALUE)
                        .add(jTextIdent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 60, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(jTextTitre, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
                        .add(jDateChooserDate, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap(126, Short.MAX_VALUE))
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel1)
                        .add(jTextIdent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel2)
                        .add(jTextTitre, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(jLabel3)
                        .add(jDateChooserDate, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel4)
                        .add(jComboCha, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(185, 185, 185))
            );
     
            getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
     
            jButtonOK.setText("OK");
            jButtonOK.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButtonOKActionPerformed(evt);
                }
            });
            jPanel2.add(jButtonOK);
     
            jButtonAnnul.setText("Annuler");
            jButtonAnnul.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButtonAnnulActionPerformed(evt);
                }
            });
            jPanel2.add(jButtonAnnul);
     
            getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
     
            pack();
        }// </editor-fold>                        
     
        private void jButtonAnnulActionPerformed(java.awt.event.ActionEvent evt) {                                             
    // TODO add your handling code here:
            this.dispose();
        }                                            
     
        private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
            Album alb = new Album();
            alb.setCodeA(jTextIdent.getText().toUpperCase()); //setIdentApp
            alb.setTitreA(jTextTitre.getText());
            alb.setSortieA(jDateChooserDate.getDate());
            alb.setCatApp((Chanteur)jComboCha.getSelectedItem());
     
            boolean ok = daoAlb.insertAlbum(alb);
            if (!ok)
                JOptionPane.showMessageDialog(null,"Insertion impossible !","Avertissement",JOptionPane.ERROR_MESSAGE);
            this.dispose();
        }                                         
     
        private void fillComponents()
        {
            /* charger toutes les catégories */
     
            ArrayList <Chanteur> cha = daoCha.selectChanteurs();
            for (int i=0;i<cha.size();i++)
                jComboCha.addItem(cha.get(i));
     
     
        }

  6. #6
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    C'est la stacktrace complète que je voudrais voir...
    Quelque chose comme ça :
    Exception in thread "machintruc" machin.truc.BiduleException
    at packagemachin.ClassTruc.methodeBidule(ClassTruc.java:42)
    at ...
    cause: ...
    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.

  7. #7
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    C'est la stacktrace complète que je voudrais voir...
    Quelque chose comme ça :
    Je n'ai jamais entendu parlé de stacktrace et je trouve pas le message dans mes files, c'est peut-être parce que je débute toujours en Java.
    Voici une grosse partie de mes messages d'erreurs...

  8. #8
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Je n'ai jamais entendu parlé de stacktrace
    Bah, c'est exactement ce que tu me montres dans l'image... mais tu aurais pu faire un copier/coller de texte directement...
    La stacktrace c'est la trace de la pile d'appels de méthodes du thread qui plante. Le thread plante à un moment dans une instruction qui est dans une méthode qui a été appelée par une méthode qui a été appelée par une méthode, etc... tous ces appels imbriqués s'empilent, dans une pile (stack en anglais) : une pile, donc une liste dite LIFO (Last In First Out), c'est pourquoi, on voit le dernier appel en premier, puis l'avant dernier, puis l'avant avant dernier, etc jusqu'au premier (enfin, parfois la méthode qui affiche la trace limite l'affichage pour éviter d'avoir trop de lignes, d'autant plus que ces surtout les dernières qui comptent pour une exception), et, éventuellement, on peut voir les causes : les autres exceptions qui ont provoquer la première qu'on voit...


    Bref, donc là on voit que l'erreur c'est une java.lang.NullPointerException, à la ligne 146. Il y a donc une variable utilisée dans cette ligne qui contient null. Je ne sais pas exactement ce que tu as à la ligne 146 (il y a un décalage entre ton source et celui que tu montres ci-dessus), mais on voit dans la stacktrace que c'est dans la méthode fillComponents, donc dans ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ArrayList <Chanteur> cha = daoCha.selectChanteurs();
            for (int i=0;i<cha.size();i++)
                jComboCha.addItem(cha.get(i));
     
     
        }
    Donc, soit c'est daoCha qui contient null, soit c'est cha, soit c'est jComboCha.

    Il y a peut de chances que ça soit jComboCha, parce qu'on voit ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    initComponents();
    fillComponents();
    que fillComponents() est appelée après initComponents() qui fait jComboCha = new javax.swing.JComboBox();Donc reste cha, qui pourrait être null si selectChanteurs() retourne null, ou daoCha, s'il n'y a pas d'affectation de daoCha. Je pencherais bien pour daoCha, mais je ne vois pas la fin du code de JDAlbuInsert. Le souci, c'est qu'on appelle fillComponents() après initComponents(), des méthodes chargées de gérer tous l'aspect graphique et qui nullepart s'occupe de cette variable. En clair, on ne voit de code du genre daoCha = quelque chose de pas null (pas d'affectation de la variable donc) ni dans initComponents() ni dans fillComponents()...
    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.

  9. #9
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Waaawwwww on voit vraiment la maîtrise... Voici tout mon code de la class JDAlbuInsertT; donc tu penses que c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private DAOChanteurs daoCha = Factory.getDAOChanteurs()
    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
    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
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    package presentation;
     
    import dao.DAOAlbums;
    import dao.DAOChanteurs;
    import daoMySQL.DAOAlbumsMySQL;
    import factory.Factory;
    import java.util.*;
    import javax.swing.text.*;  // pour DateFormatter
    import java.text.*;         // pour DateFormat
    import javax.swing.*;
    import transfertObject.Album;
    import transfertObject.Chanteur;
     
    public class JDAlbuInsert extends javax.swing.JDialog {
     
        /** Creates new form JDApparInsert */
        public JDAlbuInsert(java.awt.Frame parent, String titre) {
            super(parent, titre, true);
            initComponents();
            fillComponents();
            getRootPane().setDefaultButton(jButtonOK);
            setLocation(parent.getX()+parent.getWidth()/3, parent.getY()+parent.getHeight()/3);
            setVisible(true);
        }
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            jPanel1 = new javax.swing.JPanel();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
            jTextIdent = new javax.swing.JTextField();
            jTextTitre = new javax.swing.JTextField();
            jComboCha = new javax.swing.JComboBox();
            jDateChooserDate = new com.toedter.calendar.JDateChooser();
            jPanel2 = new javax.swing.JPanel();
            jButtonOK = new javax.swing.JButton();
            jButtonAnnul = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
     
            jLabel1.setText("Ident");
     
            jLabel2.setText("Description");
     
            jLabel3.setText("Date");
     
            jLabel4.setText("Nom");
     
            jDateChooserDate.setDateFormatString("dd-MM-yyyy");
     
            org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                        .add(jLabel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(jLabel1)
                        .add(jLabel3)
                        .add(jLabel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .add(11, 11, 11)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                        .add(jComboCha, 0, 200, Short.MAX_VALUE)
                        .add(jTextIdent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 60, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(jTextTitre, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
                        .add(jDateChooserDate, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap(126, Short.MAX_VALUE))
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel1)
                        .add(jTextIdent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel2)
                        .add(jTextTitre, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(jLabel3)
                        .add(jDateChooserDate, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel4)
                        .add(jComboCha, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(185, 185, 185))
            );
     
            getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
     
            jButtonOK.setText("OK");
            jButtonOK.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButtonOKActionPerformed(evt);
                }
            });
            jPanel2.add(jButtonOK);
     
            jButtonAnnul.setText("Annuler");
            jButtonAnnul.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButtonAnnulActionPerformed(evt);
                }
            });
            jPanel2.add(jButtonAnnul);
     
            getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
     
            pack();
        }// </editor-fold>                        
     
        private void jButtonAnnulActionPerformed(java.awt.event.ActionEvent evt) {                                             
    // TODO add your handling code here:
            this.dispose();
        }                                            
     
        private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
            Album alb = new Album();
            alb.setCodeA(jTextIdent.getText().toUpperCase()); //setIdentApp
            alb.setTitreA(jTextTitre.getText());
            alb.setSortieA(jDateChooserDate.getDate());
            alb.setCatApp((Chanteur)jComboCha.getSelectedItem());
     
            boolean ok = daoAlb.insertAlbum(alb);
            if (!ok)
                JOptionPane.showMessageDialog(null,"Insertion impossible !","Avertissement",JOptionPane.ERROR_MESSAGE);
            this.dispose();
        }                                         
     
        private void fillComponents()
        {
            /* charger toutes les chanteurs */
     
            ArrayList <Chanteur> cha = daoCha.selectChanteurs();
            for (int i=0;i<cha.size();i++)
                jComboCha.addItem(cha.get(i));
     
     
     
        }
     
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton jButtonAnnul;
        private javax.swing.JButton jButtonOK;
        private javax.swing.JComboBox jComboCha;
        private com.toedter.calendar.JDateChooser jDateChooserDate;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JTextField jTextIdent;
        private javax.swing.JTextField jTextTitre;
        // End of variables declaration                   
     
        private DAOAlbums daoAlb = Factory.getDAOAlbums();
        private DAOChanteurs daoCha = Factory.getDAOChanteurs();
     
     
    }

  10. #10
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Waaawwwww on voit vraiment la maîtrise... Voici tout mon code de la class JDAlbuInsertT; donc tu penses que c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private DAOChanteurs daoCha = Factory.getDAOChanteurs()
    qui pose problème?
    Oui, c'est à ça qu'il faut s'intéresser,et au fonctionnement de la méthode getDAOChanteurs().

    Déjà, tu peux simplement vérifier l'hypothèse, en ajoutant une trace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.out.println("Voici daoCha : " + daoCha);
    ArrayList <Chanteur> cha = daoCha.selectChanteurs();
    si tu vois dans la console :
    Voici daoCha : null
    c'est que c'est bien daoCha le souci, et donc, remonter dans getDAOChanteurs() pour voir pourquoi on récupérerait null au lieu d'une instance de DAO.

    Il y a aussi le mode debug qui te permettra d'exécuter pas à pas le programme et de constater l'ordre d'exécution de chaque affectation et chaque instruction...
    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.

  11. #11
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Bonjour joel.drigo,

    J'ai effacé complètement une partie du contenu de ma JIFChanteur et j'ai fait quelques modifications ça fonctionne.


    Merci encore pour ton aide.

    Bonne journée à toi

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/09/2015, 10h47
  2. Composant pour requêtes avec syntaxe QBE
    Par FDR2006 dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/12/2009, 09h02
  3. [SQL] Requête complexe: syntaxe
    Par Pahcixam dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 24/08/2006, 17h48
  4. Syntaxe requête SQL
    Par Mvu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/07/2004, 14h27
  5. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39

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