java.sql.SQLException:列索引超出范围,7> 6

时间:2018-05-31 21:58:58

标签: java sql jdbc

我有一条错误消息 java.sql.SQLException:列索引超出范围,7> 6。我认为我的问题是请求SQL?我不知道问题是否是我的请求sql ???这是我的信息代码......

以下是我在下图中的错误消息,因为我不明白这个问题 enter image description here

public class DAOCollabosMySQL implements DAOCollabos {

    private static DAOCollabosMySQL uniqueInstance = new DAOCollabosMySQL();

    public static DAOCollabosMySQL getInstance()
    {
        return uniqueInstance;
    }

    /* Sélectionne tous les appareils et les renvoie dans une liste chaînée */
    public ArrayList <Collabo> selectCollabos ()
    {
        ArrayList <Collabo> myList = new ArrayList();

        String req = "SELECT IdentApp, A.IdentI, DenomCat, A.IdentM, NomM, PrenomM, SexeM, NaissM, A.CodeA, TitreA, DateArrivee, Nom FROM collabo A, musicien E, instrument C, album D WHERE A.IdentI = C.IdentI AND A.IdentM = E.IdentM AND A.CodeA = D.CodeA ORDER BY 1 ";

        ResultSet resu = ConnexionMySQL.getInstance().selectQuery (req);
        try {
            while (resu.next())
            {  

                myList.add(new Collabo(resu.getInt(1),
                new Instrument (resu.getInt(2),resu.getString(3)), 
                new Musicien (resu.getInt(4),resu.getString(5),resu.getString(6),resu.getString(7), resu.getDate(8)), 
                new Album( resu.getString(9), resu.getString(10), resu.getDate(11), resu.getString(12))));
             }
        }
        catch (SQLException e)
        {
            System.out.println(e.toString());
            System.exit(-1);
        }
        return myList;
    }

    /*  Sélectionne tous les appareils d'une certaine catégorie et d'un certain etat
     *  et les renvoie dans une liste chaînée. 
     *  si idCat=0 cela signifie qu'on veut toutes les categories
     *  si idEtat=0 cela signifie qu'on veut tous les etats
    */

    public ArrayList <Collabo> selectCollabos (int idCat, int idEtat)
    {
        ArrayList <Collabo> myList = new ArrayList();
        String req;

        if (idCat != 0 && idEtat != 0)
        {
            req = "Select IdentApp, A.IdentCat, DenomCat, " +
            "A.IdentM, NomM, CodeA from collabo A, musicien E, " +
            "instrument C where A.IdentM = E.IdentM and A.IdentCat = C.IdentCat" +
            " and A.IdentCat = " + idCat + " and A.identM = " + idEtat + " order by 1";
        }
        else if (idCat != 0)
        {
            req = "Select IdentApp, A.IdentI, DenomCat, " +
            "A.IdentM, NomM, CodeA from collabo A, musicien E, " +
            "instrument C where A.IdentM = E.IdentM and A.IdentI = C.IdentI" +
            " and A.IdentI = " + idCat + " order by 1";
        }
        else if (idEtat != 0)
        {
            req = "Select IdentApp, A.IdentI, DenomCat, " +
            "A.IdentM, NomM, CodeA  from collabo A, musicien E, " +
            "instrument C where A.IdentM = E.IdentM and A.IdentI = C.IdentI" +
            " and A.IdentMt = " + idEtat + " order by 1";
        }
        else
        {
            req = "Select IdentApp, A.IdentI, DenomCat, " +
            "A.IdentM, NomM, CodeA from collabo A, musicien E, " +
            "instrument C where A.IdentM = E.IdentM and A.IdentI = C.IdentI" +
            " order by 1";
        }

        ResultSet resu = ConnexionMySQL.getInstance().selectQuery (req);
        try {
            while (resu.next())
            {                
                //cr�ation de l'objet Appareil
                myList.add(new Collabo(resu.getInt(1),
                new Instrument (resu.getInt(2),resu.getString(3)), 
                new Musicien (resu.getInt(4),resu.getString(5),resu.getString(6),resu.getString(7), resu.getDate(8)), 
                new Album( resu.getString(9), resu.getString(10), resu.getDate(11), resu.getString(12))));
             }
        }
        catch (SQLException e)
        {
            System.out.println(e.toString());
            System.exit(-1);
        }
        return myList;
    }

    /* Insère un appareil passé en paramètre dans la table Appareil. Renvoie true si 
     �a s'est bien passé, false sinon */

    public boolean insertCollabo (Collabo col)
    {
        //System.out.println("Date arriv�e : " + app.getDateArriveeSQL());
        boolean ok = ConnexionMySQL.getInstance().actionQuery("Insert into collabo (IdentI, " +
        "IdentM, CodeA) values ('" + col.getInstrumentApp().getIdentI() + "','" + col.getMusicienApp().getIdentM() + "','" + col.getAlbumApp() +  
         "'" + ")");

        return ok;
    }

请问您有什么想法吗?

0 个答案:

没有答案