Hello tout le monde!
Je souhaite verifier que le contenu d'un ResultSet est exactement le meme que le contenu de mon ArrayList et je rame.... 
 
	
	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
   | public static boolean analyseIdentique(int idQuestion, Question uneQuestion){
        boolean resultat = false;
        System.out.println("coucou"+resultat);
        try {
            // Connection à la base de données
            conBD = connexionBD();
            Statement requete = conBD.createStatement();
 
            // Contrôle de l'existance de la question dans la bd avec le format Kern
            ResultSet resultatRequeteListeTypeAnalyse = requete.executeQuery(
                    "SELECT type_analyse.* " +
                    "FROM type_analyse, possession, question " +
                    "WHERE question.id_question = possession.id_question " +
                    "AND possession.id_type_analyse = type_analyse.id_type_analyse " +
                    "AND question.id_question LIKE '"+ idQuestion +"'");
            resultatRequeteListeTypeAnalyse.last();
            //on récupère le numéro de la ligne
            int nombreLignes = resultatRequeteListeTypeAnalyse.getRow();
            //on repace le curseur avant la première ligne
            resultatRequeteListeTypeAnalyse.beforeFirst();
            System.out.println("nombre ligne BD: "+nombreLignes);
            System.out.println("nombre analyse question "+uneQuestion.getTypeAnalyse().size());
            if(nombreLignes==uneQuestion.getTypeAnalyse().size()){
                for(int i=0;i<uneQuestion.getTypeAnalyse().size();i++){
                    resultatRequeteListeTypeAnalyse.beforeFirst();
                    while(resultatRequeteListeTypeAnalyse.next()||(!resultat)){
                        if(uneQuestion.getTypeAnalyse().get(i).toString().equals(resultatRequeteListeTypeAnalyse.getString("nom_analyse"))){
                            resultat=true;
                        }else{
                            resultat=false;
                        }
                    }
                }
            }else{
                resultat=false;
            }
        } catch(Exception e) {
            e.printStackTrace();
        }
        // déconnexion à la base de données
        deconnexionBD(conBD);
        return resultat;
    } | 
 Je me retrouve avec l'erreur suivante 
	
	1 2 3 4 5 6 7 8
   | java.sql.SQLException: After end of result set
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
        at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:698)
        at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5476)
        at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5420)
        at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5436)
        at dmind.GestionnaireBd.analyseIdentique(GestionnaireBd.java:550)
        at dmind.ProgrammeDmind.main(ProgrammeDmind.java:29) | 
 Qui correspond à la ligne :
	
	if(uneQuestion.getTypeAnalyse().get(i).toString().equals(resultatRequeteListeTypeAnalyse.getString("nom_analyse"))){
 Le problème vient de mon algo...  
 
 
Quelqu'un de charitable pour m'aider??
						
					
Partager