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

Résolu/Fermé
Nelium Messages postés 3 Date d'inscription mardi 29 janvier 2013 Statut Membre Dernière intervention 15 février 2013 - 1 févr. 2013 à 12:26
Nelium Messages postés 3 Date d'inscription mardi 29 janvier 2013 Statut Membre Dernière intervention 15 février 2013 - 15 févr. 2013 à 15:21
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.
0
Nelium Messages postés 3 Date d'inscription mardi 29 janvier 2013 Statut Membre Dernière intervention 15 février 2013
15 févr. 2013 à 15:21
Un peu tard... merci :)
0