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 :

Résultat d'une requete dans un JPanel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut Résultat d'une requete dans un JPanel
    Bonjour à tous,

    J'ai du mal à afficher dans un JPanel le résultat d'une requête SQL.

    La connexion à la Base de donnée, les résultats de la requête SQL est dans Classe1.
    L'interface avec JPanel est dans Classe2.

    Le problème intervient quand j'utilise "return Resultset;" sachant que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ResultSet resultat= requete.executeQuery(myquery); 
    while (resultat.next()) { //while
    System.out.println(resultat.getInt(1));
    et que le system.out.pruntln me renvoit bien quelque chose de correct par ailleurs (vérification avec la system.out.println).

    La fonction Resultset tab(); ne reconnaitrait pas le type Resultset

    Bonne journée

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Quel est ton problème au final, je ne comprend pas très bien ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut
    Citation Envoyé par Djobird Voir le message
    Quel est ton problème au final, je ne comprend pas très bien ?
    Désolé, je vais tâcher d'être plus précis notamment en insérant mon 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    package SGBD;
     
    import java.sql.*;
    import java.util.*;
     
    public class Classe1 {
     
    /**
     
    * @param args
     
    */
     
     
    public ArrayList<Integer> tab() {//main
     
    Integer contrat;
    contrat = 0;
    String url = "jdbc:odbc:dsn AA";
    String myquery=("SELECT NOSOU FROM ADSCORP0"); 
    String valeur ;
     
    Connection con = null; 
     
    try {//try1
     
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    con = DriverManager.getConnection(url,"",""); 
    Statement requete = con.createStatement();
    ResultSet resultat= requete.executeQuery(myquery); 
    ArrayList<Integer> listNom = new ArrayList<Integer>();
     
     
    while (resultat.next()) { //while
     
    	Integer numero = resultat.getInt(1);
        listNom.add(numero);
     
    }; //while
     
    } //try1
     
    catch(Exception e) { System.out.println("Exception " + e); } //try1
    return listNom ;
     
    }//main
     
    }//fin class
    Ensuite dans une 2ème classe, je tente de capturer mon tableau mais en vain.

    Voici le code de la 2ème classe :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    package SGBD;
     
    import javax.swing.*;
    import java.awt.*;
     
    import java.util.ArrayList;
     
     
    	/**
             * @param args
             */
     
    	class Listenertypedemande implements java.awt.event.ActionListener
    	{
    	public void actionPerformed (java.awt.event.ActionEvent ev)	
    	{
    		JOptionPane.showMessageDialog (null,"Coucou");
    	}
    	}
     
     
    	public class IHM {
     
    	public static void main(String args[]) {
    		// TODO Auto-generated method stub
     
    JFrame fenetre = new JFrame("Outil de la Cellule Médicale");
    Container panneau = fenetre.getContentPane();
    panneau.setLayout(new BorderLayout (2,2));
     
    JButton boutonTypedemande = new JButton("Type de demande");
    java.awt.event.ActionListener actionboutonTypedemande = new Listenertypedemande();
    boutonTypedemande.addActionListener(actionboutonTypedemande);
     
    Classe1 Essai = new Classe1();
    ArrayList<Integer> plage = Essai.tab();
    JLabel ecran = new JLabel("plage"+ plage);
     
     
    ecran.setBorder(BorderFactory.createLoweredBevelBorder());
    panneau.add(ecran, BorderLayout.SOUTH);
     
    fenetre.getContentPane().add(boutonTypedemande);
    fenetre.pack();
    fenetre.setVisible (true);
     
    	}
     
    }
    Et quand j'exécute, j'obtiens le message d'erreur suivant :

    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    listNom cannot be resolved

    at SGBD.Classe1.tab(Classe1.java:47)
    at SGBD.IHM.main(IHM.java:36)
    Je réfléchis au problème mais pour le moment je ne vois pas trop...

    Bonne journée

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    "listNom cannot be resolved"

    Ca veut dire qu'il ne reconnait pas la variable listNom, peu importe son type. Et il ne la reconnait pas, étant donnée que tu la déclares dans un try catch, et tente de la retourner à l'extérieur, donc le scope est mauvais.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut Merci
    Citation Envoyé par Djobird Voir le message
    "listNom cannot be resolved"

    Ca veut dire qu'il ne reconnait pas la variable listNom, peu importe son type. Et il ne la reconnait pas, étant donnée que tu la déclares dans un try catch, et tente de la retourner à l'extérieur, donc le scope est mauvais.
    J'ai replacé dans le code la déclaration de ListNom et cela fonctionne, merci beaucoup pour votre aide Djobird.

    Bonne journée

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/05/2006, 16h28
  2. [MySQL] affichage du résultat d'une requete dans une page
    Par blackbird1 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/03/2006, 14h07
  3. placer une résultat d'une requete dans un champs
    Par valaidnew dans le forum Access
    Réponses: 5
    Dernier message: 03/03/2006, 10h34
  4. Réponses: 3
    Dernier message: 25/11/2005, 14h51
  5. Réponses: 6
    Dernier message: 27/09/2005, 16h19

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