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 :

Column Index Out of Range,2>1


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 Column Index Out of Range,2>1
    Bonjour,

    Lorsque j'exécute mon IDE j'ai un message d'erreur : java.sql.SQLException: Column Index out of range, 2 > 1.
    J'ai regardé un petit peu dans les forums anglais je n'ai pas vraiment compris d'où provenait le soucis ?

    Edit:

    Visiblement il s'agit d'un soucis de colonne ?

    Voici comment je procède.

    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
    private String[] columnNames = {"Identification"};
        private ArrayList <Collabo> myList;
     
        public TableModelCollabos (ArrayList myList)
        {
            this.myList = myList;
        }
     
        public int getColumnCount() {
            return columnNames.length;
        }
     
        public int getRowCount() {
            //System.out.println("row count : " + myList.size());
            return myList.size();
        }
     
        @Override
        public String getColumnName(int col) {
            return columnNames[col];
        }
     
        @Override
        public Object getValueAt(int row, int col) {
            Collabo myApp = myList.get(row);
            switch (col)
            {
                case 0 :    return myApp.getAppAlb().getCodeA();
     
            }
            return null;
        }
     
        @Override
        public Class getColumnClass(int c) {
            //return getValueAt(0, c).getClass(); ! provoque une erreur quand la table est vide et qu'il y a un sorter !
            switch (c)
            {
                case 0 :    return String.class;
     
            }
            return null;
        }
     
        public void setMyList (ArrayList myList)
        {
            this.myList = myList;
            this.fireTableDataChanged();
        }
     
        public ArrayList <Collabo> getMyList ()
        {
            return myList;
        }
     
        public Collabo getMyList (int index)
        {
            return myList.get(index);
        }

  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
    Le problème est bien un souci de colonne, mais rien à voir avec la JTable.

    C'est une erreur SQL probablement lors de la récupération d'une valeur de ResultSet, ou l'affectation d'une valeur à un paramètre.

    Par exemple, si dans un SELECT, tu ne récupères qu'une colonne (genre Select id from table)), accèder à la colonne 2 du ResultSet te donnera cette exception (si tu fais resultset.getString(2); par exemple).
    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
    Effectivement en cherchant sur des sites anglais mon soucis viendrait du getString(2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while (resu.next())
    { 
    myList.add (new Appareil(resu.getString(1),
    new Album (resu.getString(2))));
     
    }
    En gros ce que je veux faire c'est récupérer les items de ma colonne CodeA de ma table Album vers ma table Collabo.


    Est-ce que nous sommes d'accord par rapport à nos deux classes ?
    Pour la classe Album j'ai ceci:

    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
    public class Album {
    private String codeA;
    private String titreA;
    private Chanteur chantAlb;
    private Date dateApp; 
     
     
    public Album() {
    }
     
    public Album(String codeA) {
    this.codeA = codeA;
    }
     
    public Album(String codeA, String titreA, Chanteur chantAlb, Date dateApp) {
    this.codeA = codeA;
    this.titreA = titreA;
    this.chantAlb = chantAlb;
    this.dateApp = dateApp;
    }
     
    public String getCodeA() {
    return codeA;
    }
     
    public void setCodeA(String codeA) {
    this.codeA = codeA;
    }
     
    public String getTitreA() {
    return titreA;
    }
     
    public void setTitreA(String titreA) {
    this.titreA = titreA;
    }
     
    public Chanteur getChantAlb() {
    return chantAlb;
    }
     
    public void setChantAlb(Chanteur chantAlb) {
    this.chantAlb = chantAlb;
    }
     
    public Date getDateApp() {
    return dateApp;
    }
     
    public void setDateApp(Date dateApp) {
    this.dateApp = dateApp;
    }
     
    public String getDateAppBE() {
    String tmp;
     
    if (this.dateApp == null)
    tmp = "";
    else
    {
    SimpleDateFormat dateParser = new SimpleDateFormat("dd/MM/yyyy");
    tmp = dateParser.format(this.dateApp);
    }
    return tmp;
    }
     
    public void setDateAppBE(String dateApp) {
    SimpleDateFormat dateParser = new SimpleDateFormat("dd/MM/yyyy");
    try {
    this.dateApp = dateParser.parse(dateApp);
    } catch (ParseException ex) {
    Logger.getLogger(Album.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
     
    public String getDateAppSQL() {
    String tmp;
     
    if (this.dateApp == null)
    tmp = "";
    else
    {
    SimpleDateFormat dateParser = new SimpleDateFormat("yyyy-MM-dd");
    tmp = "'" + dateParser.format(this.dateApp) + "'";
    }
    return tmp;
    }
     
    public String getDateAppUS() {
    String tmp;
     
    if (this.dateApp == null)
    tmp = "";
    else
    {
    tmp = this.dateApp.toString();
    }
    return tmp;
    }
    J'ai juste ajouté un constructeur qui est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public Album(String codeA) {
    this.codeA = codeA;
    }
    Après pour la class Collabo je pense que j'ai une erreur ? J'ai crée 2 variables

    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
    public class Collabo {
    private String codeA;
    private Album appAlb;
     
     
    public Collabo() {
    }
     
    public Collabo(String codeA, Album appAlb) {
    this.codeA = codeA;
    this.appAlb = appAlb;
    }
     
    public String getCodeA() {
    return codeA;
    }
     
    public void setCodeA(String codeA) {
    this.codeA = codeA;
    }
     
    public Album getAppAlb() {
    return appAlb;
    }
     
    public void setAppAlb(Album appAlb) {
    this.appAlb = appAlb;
    }
    Dans ma tableModelCollabo j'ai aussi ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Override
    public Object getValueAt(int row, int col) {
    Collabo myApp = myList.get(row);
    switch (col)
    {
    case 0 : return myApp.getAppAlb().getCodeA();
     
    }
    return null;
    }
    -
    Franchement je vois vraiment pas le problème??

  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
    Effectivement en cherchant sur des sites anglais mon soucis viendrait du getString(2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while (resu.next())
                {  
                    myList.add (new Appareil(resu.getString(1),
                                 new Album (resu.getString(2))));
     
                 }
    [...]

    Franchement je vois vraiment pas le problème??
    Peu importe toute le reste (pour l'instant en tout cas), ce qui importe c'est la requête SQL qui est utilisée par le statement qui génère resu... on ne l'a voit nullepart dans les extraits de code que tu montres.
    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
    On a posté presque en même temps, mon soucis est résolu.
    Merci encore pour ton aide.

Discussions similaires

  1. Réponses: 26
    Dernier message: 05/02/2007, 16h57
  2. Réponses: 7
    Dernier message: 22/09/2006, 01h28
  3. [Cookies] Mes cookies ne sont pas créés
    Par YavaDeus dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 09h41
  4. [XSL] Mes entités ne sont pas prises en compte
    Par trent94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/07/2005, 18h49
  5. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00

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