2017-01-09 3 views
0

Я разрабатываю небольшую программу в java, я создал jtable и подключаю ее к mysql, но он показывает только 4 строки, независимо от того, насколько большими мои данные ... here is jtable in javaJTable rows count имеет значение по умолчанию (4 строки) ТОЛЬКО

and here is mysql table data..

con = DBconnect.connect(); 
    String[] columnNames = {"Name", "UserName", "UserType"}; 
    model.setColumnIdentifiers(columnNames); 

    jTable1.setModel(model); 

    jTable1.setShowGrid(false); 
    try { 
     PreparedStatement pst; 
     pst = con.prepareStatement("select * from courses"); 
     ResultSet rs = pst.executeQuery(); 
     ResultSetMetaData md = rs.getMetaData(); 
     int columns = md.getColumnCount(); 
     int i = 0; 
     for(i = 0; i <= columns; i++){ 
      if (rs.next()) { 
       uname = rs.getString("C_ID"); 
       email = rs.getString("C_NAME"); 
       pass = rs.getString("C_TYPE"); 
       model.addRow(new Object[]{uname, email, pass}); 
      } 
     } 

ответ

1

вы смешиваете столбцы и строки, for(i = 0; i <= columns; i++) будут читать только 4 записи/строки (потому что у вас есть 3 колонки).

Просто просмотрите с while(rs.next()) ResultSet, чтобы получить все данные:

while(rs.next()){ 

      uname = rs.getString("C_ID"); 
      email = rs.getString("C_NAME"); 
      pass = rs.getString("C_TYPE"); 
      model.addRow(new Object[]{uname, email, pass}); 

    } 
Смежные вопросы