Multi-return dans une méthode? [Résolu]

oulanos 25 Messages postés vendredi 14 avril 2006Date d'inscription 10 mai 2010 Dernière intervention - 19 juin 2009 à 14:08 - Dernière réponse : oulanos 25 Messages postés vendredi 14 avril 2006Date d'inscription 10 mai 2010 Dernière intervention
- 22 juin 2009 à 15:06
Bonjour,

En fait je ne sais pas si le titre est "juste" dans le langage Java mais ça explique bien ce que je tente de faire:

Alors voilà en fait j'ai une requête à une bdd grâce à une classe de connexion à celle-ci qui me permet de retourner une Liste (en arraylist) d'une table, mettons Hostname.

Cependant je voudrai aussi pouvoir récupérer le "id" de ce hostname pour ensuite pouvoir m'en servir.

En fait mon code donne à peu près ça:
********************************
            String communaute = SnmpField.getText();
             bdd_cacti_connexion objetConnect2 = new bdd_cacti_connexion();

             List list = objetConnect2.rechercheSnmp(communaute);

                listModel.removeAllElements();
               
                for (Object object : list) {
                    listModel.addElement(object);
                    }
    **************************

public List rechercheSnmp(String communaute) {
        List results = new ArrayList();
     
       
        try {
            String url = "jdbc:odbc:cacti";
            Connection conn = DriverManager.getConnection(url);
            System.out.println("Connection MySQL effectuee\n\n\n");
            Statement statement = conn.createStatement();            ResultSet result statement.executeQuery("SELECT * FROM host WHERE snmp_community'" + communaute + "'");
            int i = 0;
            while (result.next()) {
                String name = result.getString("hostname");
   
                results.add(name);
         
                i++;
            }
   System.out.println("Il y a " + i + " entr es");
            conn.close();
        } catch (SQLException e) {
            System.out.println("erreur ConnexionBase" + e);
        }
        return results;
           

là je lance mon p'tit monde avec une string "communaute" passé en paramètre et après ce qui est retourné est stocké dans une Liste nommée "list" pour le coup..

Voilà en fait je me demande comment faire pour récupérer aussi l'id parce que je fais un return results pour retourner ma liste qui contient les résultats de ma requête.

Je sais qu'on ne peut pas faire de multi return, enfin retourner 2 variables par là... donc je m'interroge sur le pourquoi du comment.

Désolé je suis vraiment nouveau dans le monde de la progra

En essayant de faire un Arraylist[] list.. enfin un "tableau" d'arraylist j'ai pas réussi, donc je me tourne vers vous pour savoir comment faire pour avoir un "tableau" avec cette liste pour avoir une multi-entrée.

Merci par avance et si vous ne comprenez pas ma requête merci de me le préciser et je tenterai d'expliquer plus en détail.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
kirua12 1155 Messages postés samedi 17 janvier 2004Date d'inscription 29 avril 2011 Dernière intervention - 19 juin 2009 à 15:45
3
Merci
Salut,

pourquoi tu ne crées pas tout simplement un objet qui contient ton id et ta liste ? et c'est cet objet que tu renvoies ...

Merci kirua12 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de kirua12
tlaloctzin 136 Messages postés mercredi 21 juin 2006Date d'inscription 12 septembre 2013 Dernière intervention - 22 juin 2009 à 13:05
0
Merci
Bah sinon c est ptet pas le plus propre mais tu fais un second Array dans lequel tu stocks les ID et apres tu crée un tableau d Objects [][] et tu place tes IDs avec tes autres valeurs , ensuite tu retournes ton tableau....


C'est pas super beu mais ca fonctionneras je pense.

Il vaut mieu être riche et en bonne santé que pauvre et malade .
Commenter la réponse de tlaloctzin
oulanos 25 Messages postés vendredi 14 avril 2006Date d'inscription 10 mai 2010 Dernière intervention - 22 juin 2009 à 15:06
0
Merci
Salut à vous deux et merci pour vos réponses.
Désolé pour le temps de réponse, j'avais pas internet là ou j'étais :D

Je vais essayer les deux façons, bon avec un penchant pour la première qui a l'air plus "propre". Merci en tout cas, je vais tenter tout ça et je dirai si je m'en suis sorti!

bonne journée
Commenter la réponse de oulanos

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.