Parcourir un bean en java

Messages postés
18
Date d'inscription
lundi 2 avril 2018
Statut
Membre
Dernière intervention
10 septembre 2019
- - Dernière réponse : lallana2re
Messages postés
18
Date d'inscription
lundi 2 avril 2018
Statut
Membre
Dernière intervention
10 septembre 2019
- 10 sept. 2019 à 21:27
Salut tout le monde , j'ai eu un probléme pour récupérer successivement les données correspondantes du bean , ça me répéte les données du bean de l'index 0 ;
le voici le code source :

- Mon bean connected :
package com.worldvista.dev.beans;

import java.io.Serializable;

public class connected implements Serializable{
private String nom , prenom , hoursLogin , dateDay ;

public String getNom() {
return nom;
}

public void setNom(String nom) {
this.nom = nom;
}

public String getPrenom() {
return prenom;
}

public void setPrenom(String prenom) {
this.prenom = prenom;
}

public String getHoursLogin() {
return hoursLogin;
}

public void setHoursLogin(String hoursLogin) {
this.hoursLogin = hoursLogin;
}


public String getDateDay() {
return dateDay;
}

public void setDateDay(String dateDay) {
this.dateDay = dateDay;
}


}


- la classe contenant la methode recuperant et afichant les donnees du bean recupéré à partir de la boucle :

public class historiquesConnexion{

private ModuleConnexionInscription() testUser ;
private List<connected> listeConnected;
private connected userConnected ;
private List<String> listeIdUser;
private PreparedStatement pstmt ;
private ResultSet rslt;

public historiquesConnexion() {
testUser = new ModuleConnexionInscription();
con = new Connexion().getInstance();

}

public List topFiveConnected() {
userConnected = new connected();
listeIdUser = new ArrayList<String>();
listeConnected = new ArrayList<connected>();
try {
pstmt = con.prepareStatement("select nom , prenom , hoursLogin , dateDay from connected_history where id = id ");
rslt = pstmt.executeQuery();
while(rslt.next()){
userConnected.setNom(rslt.getString("nom"));
userConnected.setPrenom(rslt.getString("prenom"));
userConnected.setHoursLogin(rslt.getString("hoursLogin"));
userConnected.setDateDay(rslt.getString("dateDay"));

listeConnected.add(userConnected);
}

}catch (Exception e) {
e.printStackTrace();
}
return listeConnected;
}

public void printUser() {

List<connected> ls = topFiveConnected();

for(int i = 0 ; i < ls.size() ; i++){
connected = ls.get(i);
System.out.println(Connected.getNom());
}

public static void main(String args[]){
historiquesConnexion hq = new historiquesConnexion();
hq.printUser();
}

- données dans la base


- resultat apres l'execution
Connexion reussie !
jonhson
jonhson
Afficher la suite 

1 réponse

Messages postés
18
Date d'inscription
lundi 2 avril 2018
Statut
Membre
Dernière intervention
10 septembre 2019
0
Merci
J'ai pu trouver la solution avec mes propres moyens , il fallait initialiser le bean connected dans la boucle while ........
Commenter la réponse de lallana2re