Partage
  • Partager sur Facebook
  • Partager sur Twitter

JTable et SQL

    26 août 2016 à 21:02:48

    s'il vous plais j'ai ce probleme

    try {
                        stat=mabase.createStatement();
                        ResultSet repense=stat.executeQuery("select * from voyage;"); 
                            /***************/
                            ArrayList data=new ArrayList(); 
                            ArrayList line=new ArrayList();
                            ArrayList titleline=new ArrayList(7);
    
                            ResultSetMetaData getnam = repense.getMetaData();
                               /*** Recuperation des noms des colonnes***/
                                    int i=0;   
                                    for(i=1; i<=7; i++)
                                    titleline.add(getnam.getColumnName(i));
                                
                               
                            while(repense.next()){
                                    for(i=1; i<=7; i++)
                                           line.add(repense.getString(i));
                                     
                                         line.add(true);
                                         data.add(line);
                                        }
                             
                    } catch (SQLException ex) {
                        System.err.print("erreur de lecture");
                         
                    }
    tableaffiche = new javax.swing.JTable();
    
    tableaffiche.setModel(new javax.swing.table.DefaultTableModel(data,titleline));
    
    
    
    jScrollPane1.setViewportView(tableaffiche);
    

    je ne sais pas pourquoi ça marche pas ; il me dit que dans ce code y'as une erreur

    tableaffiche.setModel(new javax.swing.table.DefaultTableModel(data,titleline));

    et il souligne data et titleline

    • Partager sur Facebook
    • Partager sur Twitter
      26 août 2016 à 23:11:19

      C'est un problème de portée des variables data et titleline. Tu les déclares dans le bloc try/catch donc lorsque tu en sors, les références sont supprimées. Une solution : 

      ArrayList data = null;
      ArrayList titleline = null;
      
      try {
                          stat=mabase.createStatement();
                          ResultSet repense=stat.executeQuery("select * from voyage;");
                              /***************/
                              data=new ArrayList();
                              ArrayList line=new ArrayList();
                              titleline=new ArrayList(7);
       
                              ResultSetMetaData getnam = repense.getMetaData();
                                 /*** Recuperation des noms des colonnes***/
                                      int i=0;  
                                      for(i=1; i<=7; i++)
                                      titleline.add(getnam.getColumnName(i));
                                   
                                  
                              while(repense.next()){
                                      for(i=1; i<=7; i++)
                                             line.add(repense.getString(i));
                                        
                                           line.add(true);
                                           data.add(line);
                                          }
                                
                      } catch (SQLException ex) {
                          System.err.print("erreur de lecture");
                            
                      }
      tableaffiche = new javax.swing.JTable();
       
      tableaffiche.setModel(new javax.swing.table.DefaultTableModel(data,titleline));
       
       
       
      jScrollPane1.setViewportView(tableaffiche);

      Bon courage ! :)

      • Partager sur Facebook
      • Partager sur Twitter
      StrangerThings.fr - Une communauté sur la série télévisée : actus, forums, encyclopédie. :-)

      JTable et SQL

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown