IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

J'ajoute plusieurs objets dans une liste, mais quand je l'affiche, je ne vois que les valeurs du dernier objet


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut J'ajoute plusieurs objets dans une liste, mais quand je l'affiche, je ne vois que les valeurs du dernier objet
    Bonjour à tous,

    Petit problème de logique je suppose, voici pour comprendre le code du client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    //clients
    		int nbClients = 100;
    		Client cl = new Client();
    		for (int i=5; i<=nbClients; i++) 
    		{
    			cl.setPrenom("Prénom"+i);
    			cl.setNom("Nom"+i);
    			cl.setAdresse("Adresse"+i);
    			cl.setMail(cl.getNom() +"."+ cl.getPrenom() +"@gmail.com");
    			cl.setPassword(cl.getNom());
    			cl.setProfilBean(p1);
     
    			client.add(cl);
    		}
    Je voudrais donc faire un insert avec ceci avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    //génération des clients :
    			System.out.println("Insertion des clients");
    			query="insert into client values ";
    			Iterator<Client> itClient = client.iterator();
    			while(itClient.hasNext()) 
    			{
    				Client clt = itClient.next();
    				query += "(null,'"
    					  + clt.getNom() +"','"
    					  + clt.getPrenom() +"','"
    					  + clt.getAdresse() +"','"
    					  + clt.getMail().toLowerCase() +"','"
    					  + clt.getPassword() +"',"
    					  + clt.getProfilBean() +"),";
    			}
    			query += "@tyty";
    			query = query.replace(",@tyty", "");
    			System.out.println(query);
    			Connexion.executerUpdate(query);
    Le problème est qu'il m'affiche toujours le dernier client

    Merci pour vos aides

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    il ne t'affiche pas le dernier client, il t'affiche la seule et unique instance (plusieurs fois à priori) de client que tu crées ici par Client cl = new Client();. Après, ta boucle affecte les informations des différents clients à cette même instance de Client, donc la dernière remplace les précédentes. Et dans ta liste tu as n fois la même instance de Client.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i=5; i<=nbClients; i++) {
    Client cl = new Client(); // une instance différente pour chaque client
    cl.setPrenom("Prénom"+i);
    /*...*/
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Tout simplement , mais encore un petit sur la clé étrangère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    //génération des clients :
    System.out.println("Insertion des clients");
    query="insert into client values ";
    Iterator<Client> itClient = client.iterator();
    while(itClient.hasNext()) 
    {
    	Client clt = itClient.next();
    	query += "(null,'"
    		  + clt.getNom() +"','"
    		  + clt.getPrenom() +"','"
    		  + clt.getAdresse() +"','"
    		  + clt.getMail().toLowerCase() +"','"
    		  + clt.getPassword() +"','"
    		  + clt.getProfilBean().getId() +"'),";
    }
    query += "@tyty";
    query = query.replace(",@tyty", "");
    System.out.println(query);
    Connexion.executerUpdate(query);
    le clt.getProfilBean().getId() renvoi toujours 0

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Bah, ce qu'il y a dans cette propriété, c'est ce que tu y mets avec cl.setProfilBean(p1); (la même instance pour tous les clients). C'est quoi p1 ? Ça vient d'où ? C'est créé et initialisé comment ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    La voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //collection des profils d'utilisateurs
    ArrayList<Profil> profil = new ArrayList<Profil>();  
     
    Profil p1 = new Profil("Client");
    Profil p2 = new Profil("Inscrit");
    Profil p3 = new Profil("Gestionnaire");
    Profil p4 = new Profil("Administrateur");
     
    profil.add(p1);
    profil.add(p2);
    profil.add(p3);
    profil.add(p4);
    La table profil est un relation avec Client et quand je ne met pas le getId() il renvoi bien l'objet et je pensé qu'il l'aurait converti comme il faut

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Mais l'id du profil, dans cette classe Profil, il est initialisé comment et où ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Développer en JAVA ECLIPSE sur un micro perso
    Par padraig29 dans le forum Développement Web en Java
    Réponses: 15
    Dernier message: 06/12/2006, 09h56
  2. visual editor java eclipse plugin
    Par youcef81 dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 30/08/2006, 17h33
  3. INSTEAD OF + INSERT = Boucle infinie ?
    Par Monstros Velu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2006, 15h59
  4. débutant JAVA+Eclipse
    Par ep31 dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 12/12/2005, 14h27
  5. [Eclipse 3.1]conflict de path entre java Eclipse et Oracle
    Par makohsarah dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/04/2005, 01h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo