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

AWT/Swing Java Discussion :

JComboBox et requete SQL


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 57
    Par défaut JComboBox et requete SQL
    Bonjour à tous,

    J'ai une table intervenant contenant 3 champs: un id, le nom de l'intervenant, et le prénom.
    A la conception de ma fenetre, j'initialise ma JComboBox avec les nom et les prenoms des intervenants ( chaine sous la forme nom+" "+prenom).
    Pour récupérer le choix de l'utilisateur j'utilise ce code, qui se sert de l'espace pour diferencier le nom du prénom. Mais je n'ai pa pensé lors de la conception que certains noms contiennent des espaces aussi.
    Quel modification dois-je apporter pour corriger ce problème?

    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
     
                String [] tps = Intervenant.split(" ");
                try{
                    ResultSet req = getResultFromDB("Select id from intervenant where Nom like '%"+tps[0]+"%' and Prenom like '%"+tps[1]+"%'");
                    ArrayList ResultSets=new ArrayList();
                    while(req.next()){
                        String[] row={req.getString("id")};
                        ResultSets.add(row);
                    }
                    String[] row=(String[]) ResultSets.get(0);
                    IdIntervenant = row[0];
     
                } catch(Exception e){
                    MessErreur.setText("Erreur de connection à la base.");
                    System.out.println(e);
                    jDialog1.setSize(430,100);
                    jDialog1.setVisible(true);;}

  2. #2
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Salut deutschy,

    Si tu es sur que aucun prenom ne contient et ne contiendra jamais d'espaces, tu pourrais recoller les strings issus du split à l'exception du dernier qui correspondra systematiquement au prénom (Attention, code non testé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String[] test = monString.split(" ");
    String temp = test[0];
    for (int i=1; i<(test.length-1);i++){
       temp = temp + test[i];
    }
    String monNom = temp;
    String monPrenom = test[test.length];
    Sinon, tu pourrais introduire une séparation plus claire qu'un simple espace, une virgule par exemple (c'est pas frequent dans les noms). Dans ce cas, tu modifie uniquement ton split(" ") pour un autre genre split("\\,").

    Bon courage,
    Tif

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Conceptuellement, je pense qu'il serait probablement mieux que ta JComboBox contienne des objets de type Personne contenant en membres le mot et le prenom dans des variables separees, et d'utiliser un ListCellRenderer approprie pour que le tout s'affiche correctement dans la GUI. Ca t'eviterai les problemes sur les separateurs.

    De plus, de cette maniere, et en le liant a un Comparator pour le tri de la liste tu peux faire varier/reconfigurer/formatter l'affichage sans trop de probleme de differentes manieres ("nom prenom", "prenom nom", "nom, prenom", "nom prenom", "NOM prenom", etc...).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. requete SQL + Jcombobox
    Par krikri1504 dans le forum JDBC
    Réponses: 1
    Dernier message: 16/01/2009, 12h07
  2. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  3. requete sql
    Par autumn319 dans le forum ASP
    Réponses: 22
    Dernier message: 10/09/2003, 16h46
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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