2016-10-16 2 views
1

액세스 데이터베이스에서 데이터를 표시하려고합니다. 어떤 이유로 프로그램을 실행할 때마다 하나의 행만 표시됩니다. 여기에 이렇게에만 마지막 같은 모델은 jTable1에 적용됩니다 내 코드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

당신은 당신의 while 루프를 통해 DefaultTableModel새로운마다 만드는,입니다. 최소한 모델 생성을 루프 밖으로 이동하십시오.

DefaultTableModel dm = new DefaultTableModel(10, 10); 
jTable1.setModel(dm); 
while (rs5.next()) { 
    String coursecode= rs5.getString(2); 
    … 
} 
관련 문제