java
  • swing
  • ms-access
  • jtable
  • 2016-10-16 12 views 1 likes 
    1

    アクセスデータベースからデータを表示しようとしています。何らかの理由で、プログラムを実行するたびに、1行だけが表示されます。ここに私のコードアクセスデータベースから1つの列のみを表示するJTable

    try{ 
        String coursec = jTextField9.getText().trim(); 
        String sql5 = "SELECT * FROM Studentcourse WHERE ccode ='" +coursec+"'"; 
        String url5 ="jdbc:ucanaccess://C:/Users/james_000/Documents/NetBeansProjects/Registration/Campus.accdb "; 
        Connection conn5 =DriverManager.getConnection(url5); 
        Statement statem = conn5.createStatement(); 
        ResultSet rs5 = statem.executeQuery(sql5); 
        while (rs5.next()){ 
         DefaultTableModel dm; 
         dm = new DefaultTableModel(10, 10); 
         String coursecode= rs5.getString(2); 
         String attend =rs5.getString(3); 
         String date =rs5.getString(4); 
         Vector <String> vector = new Vector<String>(); 
         vector.add(coursecode); 
         vector.add(attend); 
         vector.add(date); 
         String s[] = new String[]{"ccode", "stnumattend", "Date"}; 
         dm.setColumnIdentifiers(s); 
         jTable1.setModel(dm); 
         dm.addRow(vector); 
         jTable1.setVisible(true); 
         } 
        } 
        catch(Exception d){ 
         System.err.println("Exception:" + d.getMessage()); 
        } 
    

    答えて

    1

    は、あなたがこれだけ最後ようなモデルがjTable1に適用され、あなたのwhileループをDefaultTableModel新しいたびを作成しているのです。最低限、ループからモデル作成を移動します。

    DefaultTableModel dm = new DefaultTableModel(10, 10); 
    jTable1.setModel(dm); 
    while (rs5.next()) { 
        String coursecode= rs5.getString(2); 
        … 
    } 
    
    関連する問題