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. #221
    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
    Me voilà de retour ...pour vous jouez un mauvais tour

    Avant de poursuivre, je suis en train de pondre un Gantt ...

    Je reviendrais dès que j'ai fini ce petit truc

  2. #222
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Citation Envoyé par Spiicky Voir le message
    je suis en train de pondre un Gantt ...
    Pour visualiser les étapes du projet en cours ?
    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. #223
    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 et expliquer au supérieur les raisons de tout ce temps pris à corriger ce projet...

  4. #224
    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
    Bon, j'ai un doute sur une correction :
    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
            /* Récupération de l'installation pour le chargement du template */
            String nomInstallation = "";
            try
            {
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet("SELECT NomInstallation FROM Installation;");
                Utilitaire.remplirComboBox(jComboBoxInstallation,  resultats.getString(nomZone));
                resultats.close();
                resultats = connexion.getResultSet("SELECT NomInstallation FROM Installation WHERE IdInstallation = "+t.getIdInstallation()+";");
                while(resultats.next())
                {
                    nomInstallation = resultats.getString("NomInstallation");
                }
                resultats.close();
                connexion.closeConn();
                jComboBoxInstallation.setSelectedItem(Utilitaire.recupererSelectedItem(jComboBoxInstallation, nomInstallation));
            }
            catch(Exception e)
            {
                System.out.println("Fenetre : Récupérer le nom de l'installation pour le chargement "+e.getMessage());
                e.printStackTrace();
            }
    Je pense que la variable resultats à elle seul ne peut pas faire ressortir du texte. Il faudrait donc un resultats.getString() ? Et il me pré-remplit avec nomZone, c'est normal ?

  5. #225
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    non car resultats.getString(nomZone) ne peut renvoyer qu'une seule donnée (en plus il faudrait que nomZone soit un String qui contienne le nom du champ, bref on ne s'en sort pas ...)

    Pour aller vite, poste le code de Utilitaire.remplirComboBox
    je subodore encore un bricolage du chef !
    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/

  6. #226
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Et il me pré-remplit avec nomZone, c'est normal ?
    c'est NB qui le pré-rempli ? alors c'est qu'il a trouvé une variable String un peu plus haut qui porte ce nom.
    Ne te laisse pas faire. Dans le choix de variable de Nb, c'est souvent approximatif.
    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. #227
    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


    J'applique ce que j'ai appris : Alt+F7 sur la methode !
    Résultat :
    Nom : Sans titre.jpg
Affichages : 124
Taille : 100,6 Ko

    C'est moi ou c'est utilisé partout sans être déclaré null part ?

  8. #228
    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 moins que ce soit déclaré par NB directement quelque part ?

  9. #229
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    C'est probablement une méthode statique.
    Poste le code de cette méthode
    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/

  10. #230
    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
    Attention les yeux !

    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
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    package coactivite2;
     
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.sql.*;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import javax.swing.JComboBox;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    import java.util.Date;
     
    public class Utilitaire
    {
        /* Méthode permettant de centrer les valeurs des jTable */
        public static void centrerTable(JTable table)
        {
            DefaultTableCellRenderer custom = new DefaultTableCellRenderer();
            custom.setHorizontalAlignment(JLabel.CENTER);
            for (int i=0 ; i<table.getColumnCount() ; i++)
            table.getColumnModel().getColumn(i).setCellRenderer(custom);
        }
     
        /* Méthode permettant de formater une date en MM/dd/aaaa pour les requêtes */
        public static String formaterDateRequete(Date date)
        {
            String format = "MM/dd/yyyy";
            java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat(format);
            return formater.format(date);
        }
     
        /*public static String formaterDateRequeteMail(String date)
        {
            System.out.println(date);
            java.util.Date d = new Date(date);
            String format = "MM/dd/yyyy";
            DateFormat formater = new SimpleDateFormat("format");
            System.out.println(formater.format(date));
            return formater.format(date);
        }*/
     
        public static Date stringToDate(String sDate) throws Exception
        {
            String sFormat = "dd/MM/yyyy";
            SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
            System.out.println(sdf.parse(sDate));
            return sdf.parse(sDate);
        }
     
        /* Méthode permettant de formater une date en dd/MM/aaaa pour l'affichage */
        public static String formaterDate(Date date)
        {
            String format = "dd/MM/yyyy";
            java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat(format);
            return formater.format(date);
        }
     
        /* Méthode permettant de formater l'heure pour l'affichage */
        public static String formaterHeure()
        {
            Calendar ca = Calendar.getInstance();
            Date heure = ca.getTime();
            String format = "HH:mm";
            java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat(format);
            return formater.format(heure);
        }
     
        /* Methode permettant de réinitialiser un tableau à 0 lignes */
        public static void reinitialiserTableau(DefaultTableModel model)
        {
           int count = model.getRowCount();
           if (count <= 0)
           {
               return;
           }
           for (int i = 0; i < count; ++i)
           {
              model.removeRow(0);
           }
        }
     
        /* Methode permettant de vider un tableau de son contenu */
        public static void viderTableau(DefaultTableModel model)
        {
           int countRow = model.getRowCount();
           int countCol  = model.getColumnCount();
           if (countRow <= 0)
           {
               return;
           }
           if (countCol <= 0)
           {
               return;
           }
           for (int i = 0; i < countRow; ++i)
           {
              for (int j = 0; j < countCol; ++j)
              {
                  model.setValueAt(null, i, j);
              }
           }
        }
     
        /* Méthode permettant de remplir un jComboBox à partir du résultat d'une requête */
        public static void remplirComboBox(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.close();
                connexion.closeConn();
            }
            catch (SQLException e)
            {
                JOptionPane.showMessageDialog(null,e.getMessage());
                e.printStackTrace();
            }
        }
     
        /* Méthode permettant de remplir un jTextField à partir du résultat d'un requête */
        public static void remplirTextField(JTextField tf, String query)
        {
            try
            {
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet(query);
                while (resultats.next())
                {
                    tf.setText(resultats.getString(1));
                }
                resultats.close();
                connexion.closeConn();
            }
            catch (SQLException e)
            {
                JOptionPane.showMessageDialog(null,e.getMessage());
            }
        }
     
        /* Méthode permettant de remplir un jComboBox à partir du résultat d'une requête */
        public static void remplirComboBoxCC(JComboBox j, String query)
        {
            try
            {
                j.removeAllItems();
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet(query);
                while (resultats.next())
                {
                    j.addItem(resultats.getString(1)+", "+resultats.getString(2));
                }
                resultats.close();
                connexion.closeConn();
            }
            catch (SQLException e)
            {
                JOptionPane.showMessageDialog(null,e.getMessage());
                e.printStackTrace();
            }
        }
     
        /* Méthode permettant de vérfier si une date saisie existe */
        public static boolean estValide(int annee, int mois, int jour)
        {
            Calendar c = Calendar.getInstance();
            c.setLenient(false);
            c.set(annee,mois,jour);
            try
            {
                c.getTime();
            }
            catch(IllegalArgumentException iAE)
            {
                return false;
            }
            return true;
        }
     
        public static Object recupererSelectedItem(JComboBox jc, String compare)
        {
            jc.setSelectedIndex(0);
            for(int i  = jc.getSelectedIndex(); i < jc.getItemCount() ; i++)
            {        
                if (jc.getSelectedItem().toString().equals(compare))
                {
                    i = jc.getItemCount()+1;
                    return jc.getSelectedItem();
                }
                else
                {
                    jc.setSelectedIndex(i);
                }
            }
            return "erreur";
        }
     
        public static boolean copier(File source, File dest){
    	try
            {
                // Declaration et ouverture des flux
                java.io.FileInputStream sourceFile = new java.io.FileInputStream(source);
                try
                {
                    java.io.FileOutputStream destinationFile = null;
                    try
                    {
                        destinationFile = new FileOutputStream(dest);
                        // Lecture par segment de 0.5Mo
                        byte buffer[] = new byte[512 * 1024];
                        int nbLecture;
                        while ((nbLecture = sourceFile.read(buffer)) != -1)
                        {
                            destinationFile.write(buffer, 0, nbLecture);
                        }
                    }
                    finally
                    {
                            destinationFile.close();
                    }
                }
                finally
                {
    		sourceFile.close();
                }
    	}
            catch (IOException e)
            {
                e.printStackTrace();
                return false; // Erreur
    	}
    	return true; // Résultat OK
    }
     
     
        public static boolean deplacer(File source, File destination)
        {
            if( !destination.exists() )
            {
                // On essaye avec renameTo
                boolean result = source.renameTo(destination);
                if( !result )
                {
                    // On essaye de copier
                    result = true;
                    result &= copier(source,destination);
                    if(result) result &= source.delete();
                }
                return(result);
            }
            else
            {
                // Si le fichier destination existe, on annule ...
                return(false);
            }
        }
    }

  11. #231
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Pour accéder directement au code de la méthode,
    tu fais Ctrl + clic sur Utilitaire.remplirComboBox
    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/

  12. #232
    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 oui effectivement, c'est bcp plus pertinent ! Merci

    Résultat:

    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
    /* Méthode permettant de remplir un jComboBox à partir du résultat d'une requête */
        public static void remplirComboBox(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.close();
                connexion.closeConn();
            }
            catch (SQLException e)
            {
                JOptionPane.showMessageDialog(null,e.getMessage());
                e.printStackTrace();
            }
        }

  13. #233
    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
    Faudrait que je procède comme le post #215 ?

  14. #234
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Citation Envoyé par Spiicky Voir le message
    Faudrait que je procède comme le post #215 ?
    Pas tout à fait : remplirComboBox a l'air bien comme cela car il suffit de lui passer la requête SQL pour que le JComboBox se remplisse
    donc c'est plutôt bien.

    Pour le remplir, du coup, il suffit de faire :
    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
            /* Récupération de l'installation pour le chargement du template */
            String nomInstallation = "";
            try
            {
    /* avant :
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet("SELECT NomInstallation FROM Installation;");
                Utilitaire.remplirComboBox(jComboBoxInstallation,  resultats.getString(nomZone));
                resultats.close();
                resultats = connexion.getResultSet("SELECT NomInstallation FROM Installation WHERE IdInstallation = "+t.getIdInstallation()+";");
    */
     
    //          maintenant :
     
                Utilitaire.remplirComboBox(jComboBoxInstallation, "SELECT NomInstallation FROM Installation;");       // ici pas d'ouverture de Connexion c'est remplirComboBox qui s'en charge
     
                Connexion connexion = new Connexion();
                ResultSet  resultats = connexion.getResultSet("SELECT NomInstallation FROM Installation WHERE IdInstallation = "+t.getIdInstallation()+";");
                while(resultats.next())
                {
                    nomInstallation = resultats.getString("NomInstallation");
                }
                resultats.close();
                connexion.closeConn();
                jComboBoxInstallation.setSelectedItem(Utilitaire.recupererSelectedItem(jComboBoxInstallation, nomInstallation));
            }
            catch(Exception e)
            {
                System.out.println("Fenetre : Récupérer le nom de l'installation pour le chargement "+e.getMessage());
                e.printStackTrace();
            }
    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/

  15. #235
    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
    D'accord, je poursuis merci

  16. #236
    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
    Bon, l'application ne contient plus d'erreur mais contient des bugs... on verra ca demain

    Par ailleurs, je m’interrogeais sur ceci,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        public void supprimerTemplate(String nomTemp) throws SQLException
        {
            try{
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet("DELETE FROM Template WHERE NomTemplate = '"+nomTemp+"';");
                resultats.close();
                connexion.closeConn();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    Quel est le rôle de throws SQLException ici alors qu'on a un catch en bas ?

  17. #237
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    C'est en double.
    Retire plutôt le throw exception
    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. #238
    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
    Ok, j'ai fais le ménage dans toute l'application.

    J'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void jComboBoxSocieteRecupererActiviteSociete(java.awt.event.FocusEvent evt) {                                                          
            Societe societeP = new Societe();
            societeP.setNom((String) jComboBoxSociete.getSelectedItem());
             try{
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet("SELECT ActiviteSociete FROM Societe WHERE NomSociete ='"+societeP.getNom()+"';");
                Utilitaire.remplirTextField(jTextFieldActivite, resultats);
                connexion.closeConn();
            }catch (Exception e){
                e.printStackTrace();
            }
    Je suppute que la procedure est identique à remplirComboBox. J'ai donc appliqué ce qu'on m'a appris => CTRL + clique

    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
     
        /* Méthode permettant de remplir un jTextField à partir du résultat d'un requête */
        public static void remplirTextField(JTextField tf, String query)
        {
            try
            {
                Connexion connexion = new Connexion();
                ResultSet resultats = connexion.getResultSet(query);
                while (resultats.next())
                {
                    tf.setText(resultats.getString(1));
                }
                resultats.close();
                connexion.closeConn();
            }
            catch (Exception e)
            {
                JOptionPane.showMessageDialog(null,e.getMessage());
                e.printStackTrace();
            }
        }
    J'ai donc modifié la méthode jComboBoxSocieteRecupererActiviteSociete ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        private void jComboBoxSocieteRecupererActiviteSociete(java.awt.event.FocusEvent evt) {                                                          
            Societe societeP = new Societe();
            societeP.setNom((String) jComboBoxSociete.getSelectedItem());
             try{
                Utilitaire.remplirTextField(jTextFieldActivite, "SELECT ActiviteSociete FROM Societe WHERE NomSociete ='"+societeP.getNom()+"';");
            }catch (Exception e){
                e.printStackTrace();
            }
    Ca vous semble correct chef ?

  19. #239
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    C'est correct (sous réserve de test contre le bug que l'on n'aurait pas vu)
    et c'est bien l'idée de ces méthodes "utilitaires"

    Par contre, je suis assez perplexe sur l'intérêt du code remplirTextField .
    La requête "SELECT ActiviteSociete FROM Societe WHERE NomSociete ='Westfalia Separator GMBH';"
    va renvoyer toutes les activités de cette société ("filtres industriels", "machines laitières", "centrifugeuses")
    mais le code remplirTextField fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                ResultSet resultats = connexion.getResultSet(query);
                while (resultats.next())
                {
                    tf.setText(resultats.getString(1));
                }
    de sorte que, en parcourant les enregistrements, le texte du JTextField est systématiquement écrasé et remplacé par le suivant ...
    Dans le cas de Westfalia Separator, seule l'activité centrifugeuses va rester...
    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/

  20. #240
    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
    Et pour mes INSERT ceci est bon ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    try
                    {
                        Connexion connexion = new Connexion();
                        connexion.getResultSet("INSERT INTO Realiser (IdCC, IdAnnexe, TypeCC) VALUES ("+idCC+", "+annexe.getIdAnnexe()+", 'Sous-Traitant');");
                        connexion.closeConn();
                    } catch(Exception e)
                    {
                        System.out.println(e.getMessage());
                        e.printStackTrace();
                    }
    Même si je ne récupère rien, ça devrait quand même exécuter la requête non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public ResultSet getResultSet(String sql) {
            try {
                Statement requete = getConnexion().createStatement();
                ResultSet rs = requete.executeQuery(sql);
                return rs;
            } catch (Exception ex) {
                ex.printStackTrace();
                return null;
            }
        }

+ 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