Probleme de récupération d'un SQL vers ArrayList

[Résolu/Fermé]
Signaler
Messages postés
3
Date d'inscription
mardi 29 janvier 2013
Statut
Membre
Dernière intervention
15 février 2013
-
Messages postés
3
Date d'inscription
mardi 29 janvier 2013
Statut
Membre
Dernière intervention
15 février 2013
-
Bonjour,
uite à une requete SQL je n'arrive pas a récupérer correctement le résultat dans mon array list. Dans ma boucle while j'affiche bien tous mes éléments, par contre lorsque j'affiche dans mon foreach j'affiche toujours la même dernière ligne?
Pourquoi?
Merci d'avance pour votre aide.

ArrayList<Contrat> listeContrat = new ArrayList<Contrat>(); 
ResultSet result = pst.executeQuery(); 												    	    
while (result.next()) { 
                 System.out.println(result.getInt("numContrat"));	// Bon récupération		  tempContrat.setNumContrat(result.getInt("numContrat")); 			
	  tempContrat.setNomContrat(result.getString("nomContrat"));			
	  tempContrat.setPrenomContrat(result.getString("prenomContrat"));		
	  tempContrat.setDateNaissanceContrat(result.getDate("dateNaissanceContrat		  tempContrat.setCodePostalContrat(result.getInt("codePostalContrat"));			  listeContrat.add(tempContrat); 				   
}
   
for (Contrat contrat : listeContrat) {
                 System.out.println(contrat.getNomContrat());	//affiche tj la derniere ligne
}

2 réponses

salut..
c'est normale que ton application affiche la dernière ligne car après la fin de
la boucle while le curseur est positionner sur le dernier enregistrement de la table.
parce que while(result.next()) traduire en (repéter tanque il ya un enregistrement suivant)
allors la boucle s'arrête quand il ya pas d'enregistrement suivant donc sur le dernier enregistrement.

pour ça la boucle for tourne toujour sur le dernier ResultSet.
Messages postés
3
Date d'inscription
mardi 29 janvier 2013
Statut
Membre
Dernière intervention
15 février 2013

Un peu tard... merci :)