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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

+ 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