Probleme ComboBox

cs_nassr Messages postés 58 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 24 mai 2010 - 20 avril 2010 à 00:08
cs_nassr Messages postés 58 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 24 mai 2010 - 20 avril 2010 à 13:47
Bonjour
je travaille sur un programme qui conciste à selectionner un Item d'un ComboBox2 et en fonction dela selection le ComboBox3 affiche ses Item le probléme c'est que ComboBox3 n'affiche rien je ne sais pas où est le pb
voici le code de la methode
String province = ((Province)lp.getListeProvince().elementAt(jComboBox2.getSelectedIndex())).getIntitule();
        this.lh = new ListeHopitale(province);
         jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(this.lh.ConvertVectorHopital_To_Table()));
       this.hopital = new Hopital( lp.getListeProvince().elementAt(this.jComboBox2.getSelectedIndex()).getIntitule());


l'erreur est la suivante
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
        at pp.Hopital.(Hopital.java:30)
        at Interface.CreditAlloue.initJComboBox3(CreditAlloue.java:422)


voici le constructeur de la classe Hopitale
 public Hopital(String province) {
        this.province = province;
       String req= "select intitule from hopitale where province='"+province+"'";
       Object[][] reponse = Connect.executeQuerySelect(req);

        this.intitule = (String) reponse[0][0];

            }


en faite l'erreur vient de la derniere ligne du constructeur mais je ne sais pas pourquoi.
votre aide SVP.

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 avril 2010 à 09:44
Salut,

Ce genre d'erreur veut dire que tu essaye d'accéder à une case du tableau qui n'est pas valuée.

Apparemment, ta requête SQL ne renvoi aucune données.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_nassr Messages postés 58 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 24 mai 2010
20 avril 2010 à 11:33
Il n'y a pas de probleme dans la requette je l'ai testé dans Mysql est ça marche tres bien. pour la variable province je fait un System.out pour afficher sa valeur ( celle que j'ai selectionné) il me retourne aussi la valeur vrai donc a ce niveau pas de probleme.
mais je ne sais pas pourquoi il me point l'erreur dans cette ligne
this.intitule = (String) reponse[0][0];alors que j'utilise une meme requette pour une autre table est ça marche.
SVP vous pouvez m'aidez a resoudre ce probleme et merci.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 avril 2010 à 11:50
Salut,

C'est quoi cette fonction "executeQuerySelect" ?

Montre voir son code.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_nassr Messages postés 58 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 24 mai 2010
20 avril 2010 à 12:48
j'ai une classe Connect qui permet la connexion avec la base de donnée Mysql voici son contenu
 public static Object [][] executeQuerySelect(String QUERY) {
    	Connection CON = null;
    	int NCOL = 0;
Object [][] tableau = null;
    	ResultSet RESULTAT = null;
try {
Class.forName(pilote);
System.out.println("CONNEXION ...");
CON = DriverManager.getConnection(url, user, pass);
System.out.println("STATEMENT ...");
Statement REQUETE = CON.createStatement();
System.out.println("EXECUTION ...");
try {
                            RESULTAT = REQUETE.executeQuery(QUERY);
                            ResultSetMetaData RSMD = RESULTAT.getMetaData();
                            NCOL = RSMD.getColumnCount();
                            tableau = new Object[0][0];
}
catch(Exception e) {
                            javax.swing.JOptionPane.showMessageDialog(null,
                                "REQUETE INVALIDE: "" + QUERY + """,
                                "Requette !!", javax.swing.JOptionPane.ERROR_MESSAGE);
System.out.println("REQUETE INVALIDE: "" + QUERY + """);
}
System.out.println("TRAITEMENT DES DONNEES ...");
int i = 0;
// ExTRACTION DES RESULTAT
while (RESULTAT.next()) {
                            Object [] add_tab = new Object[NCOL];
                            for (int j=1;j<=NCOL;j++) {
                                add_tab[j - 1] = RESULTAT.getObject(j);
                            }
                            tableau = Connect.addRowToTableau(tableau, add_tab, NCOL);
                            i++;
}
}
catch(Exception e){
                    javax.swing.JOptionPane.showMessageDialog(null,
                        "Erreur dans le traitements de donnees !!",
                        "Traitement !!", javax.swing.JOptionPane.ERROR_MESSAGE);
}
  		finally {
     		try {
                    System.out.println("DECONNEXION...");
                    CON.close();
                }
                catch(SQLException e){
                    javax.swing.JOptionPane.showMessageDialog(null,
                        "Probleme au niveau SQL",
                        "SQL !!", javax.swing.JOptionPane.ERROR_MESSAGE);
     		}
                catch (Exception ex) {
                    javax.swing.JOptionPane.showMessageDialog(null,
                        "Impossible de se connecter a la base de donnees !",
                        "Base de donnees !!", javax.swing.JOptionPane.ERROR_MESSAGE);
                }
    	}
     	return tableau;
    }


je pense que l'erreur ne vient pas de cette fonction parceque je l'utilise dans d'autre requette est ça marche tres bien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 avril 2010 à 12:56
Salut,

Et si tu fais exactement la même requête directement dans MySQL il te renvoie des éléments ?

Car si tu as un ArrayIndexOutOfBounds aux indexes 0, 0, c'est que ton tableau ne contient aucune données...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_nassr Messages postés 58 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 24 mai 2010
20 avril 2010 à 13:34
je test la meme requette dans Mysql il me renvoie des éléments et j'ai fait aussi un System.out pour la variable province il affiche la valeur selectionné dans le combobox. je ne sais pas d'ou vient le pb apparament tout est bien.
0
cs_nassr Messages postés 58 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 24 mai 2010
20 avril 2010 à 13:47
Slt
j'ai pu résoudre mon probléme merci pour votre aide.
0
Rejoignez-nous