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

Développement Web en Java Discussion :

Tranfert d'un champ d'une collection dans un Arraylist<String>


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut Tranfert d'un champ d'une collection dans un Arraylist<String>
    Bonjour,

    voilà ce que j'aimerai faire :

    Imaginons une table "voitures" contenant des données :
    Nom : String; -> Index
    Année : Integer;
    KM : Integer;
    Marque : String;
    ...
    ...

    j'ai donc une collection, et j'y accède par le moyen suivant :
    voiture = voitures.find("Kangoo")
    A ce moment, j'ai voiture.nom="Kangoo" (si Kangoo existe dans la table)
    avec par exemple voiture.km=21458, voiture.Marque="Renault", etc...

    Bien.

    Mais, j'aimerai trouver une méthode qui met d'un seul coup dans une ArrayList (que l'on pourrait appeler listing par exemple)
    l'ensemble des éléments "Nom" de la table voiture.

    Actuellement, je passe par une boucle "for" pour récupérer les éléments un par un et les ajouter un par un dans mon ArrayList.
    C'est pas top, c'est une habitude ancienne, et je n'ai pas eu le temps jusqu'à présent de trouver mieux...
    Mais ça doit bien exister, non ?

    je ne sais pas si mon explication est claire, et la question doit paraître stupide, mais si quelqu'un peut m'aider

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select Nom from voitures


    tout simplement

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select Nom from voitures


    tout simplement
    Mais, comment je fait en JAVA EE ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    entitymanager.createQuery(requeteJQL).getResultList();

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    entitymanager.createQuery(requeteJQL).getResultList();
    Comment initialise-t-on entitymanager ?

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    heu de la même manière que tu l'a fait pour ton find

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    heu de la même manière que tu l'a fait pour ton find
    C'est ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public List<String> requete( String requeteJQL) {
            List<String> render=getEntityManager().createQuery(requeteJQL).getResultList();
            return render; 
        }
    Avec l'accès comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          String query="SELECT numero FROM voitures";
     
          List <String> ListVoituresNom=voiturefacade.requete(query);
    Il me donne un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
    Exception Description: Syntax error parsing [SELECT numero FROM voitures]. 
    [27, 27] An identification variable must be provided for a range variable declaration.
    J'en déduit qu'il manque quelque chose ...

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT v.numero FROM voitures v

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT v.numero FROM voitures v
    :-(

    L'erreur est maintenant la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.ClassCastException: java.util.Vector cannot be cast to java.util.ArrayList
    Alors là :-(

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    getResultList te renvoie une List, pas une ArrayList, il ne faut pas essayer de caster ça en ArrayList.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    getResultList te renvoie une List, pas une ArrayList, il ne faut pas essayer de caster ça en ArrayList.
    Merci beaucoup !

    ça marche maintenant :-)

    Jusqu'à présent, pour rechercher un enregistrement, je lisais toutes les fiches une par une, puis je récupérais celles qui correspondait à mes critères.

    Maintenant, je fais une requête !

    C'est vachement plus simple :-) :-) :-)

    Cela ne fait pas longtemps que je me suis mis à JavaEE, en Pascal, c'était autre choses, et des fichiers physiques, pas des bases de données...

    Un grand merci pour ton temps passé et tes explications !

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

Discussions similaires

  1. Présenter un champs en une ligne dans un état ?
    Par xrcr9709 dans le forum IHM
    Réponses: 1
    Dernier message: 03/09/2006, 12h53
  2. Récuperer une collection dans un select
    Par enimiste dans le forum Struts 1
    Réponses: 3
    Dernier message: 30/05/2006, 21h43
  3. [VBA-A]Recuperation champ d'une table dans une collection
    Par Nizarazu dans le forum VBA Access
    Réponses: 14
    Dernier message: 06/04/2006, 11h24
  4. Réponses: 3
    Dernier message: 03/12/2005, 16h56
  5. Stocker un champs d'une table dans une variable
    Par ju360modena dans le forum ASP
    Réponses: 3
    Dernier message: 15/06/2005, 08h44

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