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

Java Discussion :

erreur pour créer une jTable netbeans pour afficher ma table de BDD


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Par défaut erreur pour créer une jTable netbeans pour afficher ma table de BDD
    Bonjour,

    Je suis face à une nouvelle difficulté, je veux afficher ma BDD dans mon interface netbeans.

    J'ai une erreur concernant la création d'un état comme suit: Statement state = connect.createStatement

    Je ne comprends pas car j'avais déjà utilisé cette syntaxe dans une appli similaire et je n'avais pas une telle difficulté!

    mon erreur: lignes 4 à 8
    error: cannot find symbol
    Statement state = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))
    symbol: method createStatement(int,int)
    location: variable connect of type Connection_serv
    1 error


    Voici 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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    private void but_voir_TableActionPerformed(java.awt.event.ActionEvent evt)                                               
        {                                                   
     
        try 
                      ( //Création d'un objet Statement
                         Statement state = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))
                         //state = état et Statement = déclaration 
                {
     
             try 
                   ( 
                        //On récupère les MetaData
                        //L'objet result contient le résultat de la requête SQL
                     ResultSet result = state.executeQuery("SELECT * FROM renseignements ORDER BY id"))
                {
     
                        int i = 0; //variable pour l'incrémentation de while
                        int k = 0;// variable utiliser pour obtenir le nombre de rangées
     
                     if(result.next()){ //passe le curseur à l'élément suivant ;
                         result.first();    //passe le curseur sur le premier élément
                         result.last(); //last : passe le curseur sur le dernier élément ;
                         k = result.getRow(); //résultat.pour obtenir le nombre de rangées de la table
                         result.beforeFirst(); // passe le curseur avant le premier élément (position par défaut du curseur) ;
                     }
     
                     Object[][] t = new Object[k][7]; //déclaration d'un tableau Object double
     
                     //on met le resultat de la requete dans un tableau
                     //la boucle ci-dessous affiche les données de 6 colonnes (j'en ai  6)
                     //si je supprime une ligne de cette boucle j'obtiens un NULL sur une donnée de la colonne concernée.
                     while (result.next()){
                         t[i][0]=result.getInt(1);  //résultat.obtenir un int
                         t[i][1]=result.getString(2);   //résultat.obtenir un String
                         t[i][2]=result.getString(3);
                         t[i][3]=result.getString(4);
                         t[i][4]=result.getString(5);
                         t[i][5]=result.getString(6);
                         t[i][6]=result.getString(7);
                         i++;
                     }
     
                //fenêtre pour afficher la jTable 
             JFrame voirtable = new JFrame( "Table renseignements" );
     
             //Merci à joel.drigo****Affichage des colonnes table dans la jTable**********************************
            String[] columns = {"id","nom","prenom","telephone","courriel","portable","adresse"};
     
            //****Affichage des données lignes de la table contenu dans la jTable**********************************
            DefaultTableModel tableModel = new DefaultTableModel(t, columns);
            JTable table = new JTable(tableModel);
     
             //configuration de jPanel et table
    	    JPanel jPanel;  //déclare l'objet jPanel
                jPanel = new JPanel(new FlowLayout());  //organisation du layout manager
    	    jPanel.setOpaque(true); // rend le Panel opaque
                jPanel.setBackground(Color.CYAN);// la couleur ne s'affiche pas pour l'instant
    	    table.setPreferredScrollableViewportSize(new Dimension(700, 150));//dimension de la table
    	    jPanel.add(new JScrollPane(table));
    	    voirtable.add(jPanel);  //ajoute le jPanel à la fenêtre "voirtable"
    	    voirtable.pack();   //permet d'ajuster la taille en fonction des composants
    	    voirtable.setVisible(true); //rend la fenêtre voirtable visible pour qu'elle s'affiche
                voirtable.setSize(800, 350);
                voirtable.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //ferme mon application
                } 
     
                        state.close();  //state.close (veut dire state (état.fermé)
                }
               catch (SQLException ex) {
                Logger.getLogger(Interface_Utili.class.getName()).log(Level.SEVERE, null, ex);
                    }
     
        }
    Merci de bien vouloir m'épauler

    cordialement

    rapidego

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    a priori tu devrais vérifier le type de ta variable connect.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Par défaut erreur pour créer une jTable
    Bonjour
    Merci de me répondre.
    Concernant la variable connect

    La connection se fait et les données sont transmises dans postGres et également en retour dans le sens inverse.

    Maintenant pour affichage de ma table dans un JTable.

    pour info: j'avais réussi l'affichage dans une autre petite appli en codant de la même manière en utilisant la même variable connect.

    ci-dessous le code avec lequel je me connecte

    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
    50
    package carnet_rep_tel;
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import javax.swing.JOptionPane;
     
    /**
     *
     * @author rapidego
     */
    public class Connection_serv
        {
          /**
      * URL de connection
      */
      private static String url = "jdbc:postgresql://localhost:5432/RepTelephone";
     
      /**
      * Nom du user
      */
      private static String user = "postgres";
     
      /**
      * Mot de passe du user
      */
      private static String passwd = "dbpass";
     
      /**
      * Objet Connection
      */
      private static Connection connect;
     
      /**
      * Méthode qui va retourner notre instance
      * et la créer si elle n'existe pas...
      * @return
      */
      public static Connection getInstance(){
        if(connect == null){
          try {
            connect = DriverManager.getConnection(url, user, passwd);
          } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e.getMessage(), "ERREUR DE CONNEXION ! ", JOptionPane.ERROR_MESSAGE);
          }
        }		
        return connect;	
      }
     
    }   //fin de la classe Connection_serv
    Merci de m'épauler car là je ne vois pas de solution.

    cordialement à +++
    rapidego

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    non ce n'est pas la même variable connect.

    Je t'ai dit de vérifier le type de cette variable. Alors, vérifie le type de cette variable.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Par défaut erreur pour affichage d'une jtable de ma bdd
    Citation Envoyé par thelvin Voir le message
    Hello,

    non ce n'est pas la même variable connect.

    Je t'ai dit de vérifier le type de cette variable. Alors, vérifie le type de cette variable.
    Bonsoir thelvin

    Merci pour ton aide.
    Je ne vois pas comment vérifier le type de ma variable.

    Toutefois j'ai changé private static Connection connect; en public static Connection connect

    Et j'ai modifié la ligne avec Statement et createStatement. comme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Statement voir = Connection_serv.connecter.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))
    Et maintenant ça fonctionne ma table s'affiche comme dans mon autre application que j'avais codée avec un DAO etc...

    Mais explique moi SVP comment procéder pour le type de ma variable connect ?

    Encore merci pour ton aide et à +++

    cordialement
    rapidego

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est simple :

    quand tu as une variable int truc; la variable truc est de type int.

    quand tu as une variable Connection connect; la variable connect est de type Connection.

    et quand tu as une variable Connection_serv connect; la variable connect est de type Connection_serv.

    Contrairement à ce que tu dis dans ton dernier message, ta variable connect était de type Connection_serv. Alors que pour appeler createStatement() il faut une variable de type Connection.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [MySQL] récupérer les donnes d'une session pour afficher la table?
    Par keokaz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/01/2010, 20h53
  2. [GD] créer une miniature et l'afficher
    Par mdr_cedrick dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/04/2008, 06h25
  3. Titres des colonnes d'une JTable ne s'affiche pas.
    Par maxlegrand dans le forum Composants
    Réponses: 2
    Dernier message: 05/06/2007, 23h24
  4. [JTable] Créer une JTable vide avec des noms de colonnes.
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 27/09/2005, 15h54
  5. Réponses: 4
    Dernier message: 09/02/2005, 10h44

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