2016-12-18 7 views
0

このコードを見て、どこに間違っているか教えてください。 JDBCが接続されているにもかかわらず、データはOKボタンのクリックで表示されません。SQLテーブルからデータを取得できません

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 

     DefaultTableModel dtm=(DefaultTableModel)t1.getModel(); 
     try 
     { 
      st=con.createStatement(); 
      sql="Select * from train"; 
      rs=st.executeQuery(sql); 

      if (rs.next()) 
      { 
        tn = rs.getInt("TrainNo"); 
       tna = rs.getString("Train_Name"); 
       s = rs.getString("Start"); 
       d = rs.getDate("Departure"); 
       stp = rs.getString("Stop"); 
       a = rs.getDate("Arrival"); 
       da = rs.getString("Days"); 
       c = rs.getString("Class"); 
       Object []obj={tn,tna,s,d,stp,a,da,c}; 
      dtm.addRow(obj); 

      } 
     } 
     catch(Exception ex) 
     { 
      JOptionPane.showMessageDialog(null, ex.getMessage()); 
     } 
    } 

答えて

1

おそらく、ヘッダーラインを追加するのを忘れた可能性があります。したがって、次のようになります。

String[] header = {"TrainNo","Train Name","Start","Departure","Stop","Arrival","Days","Class"}; 
    DefaultTableModel dtm = new DefaultTableModel(null,header); 
    try { 
     st=con.createStatement(); 
     sql="Select * from train"; 
     rs=st.executeQuery(sql); 
     while (rs.next()) { 
     tn = rs.getInt("TrainNo"); 
     tna = rs.getString("Train_Name"); 
     s = rs.getString("Start"); 
     d = rs.getDate("Departure"); 
     stp = rs.getString("Stop"); 
     a = rs.getDate("Arrival"); 
     da = rs.getString("Days"); 
     c = rs.getString("Class"); 
     Object []obj={tn,tna,s,d,stp,a,da,c}; 
     dtm.addRow(obj); 
     } 
     st.close(); 
     rs.close();  
    } 
    catch(Exception ex) 
    { 
     JOptionPane.showMessageDialog(null, ex.getMessage()); 
    } 
    t1 = new JTable(dtm); 
関連する問題