2016-10-11 4 views
-1

에 행을 추가 할 수 없습니다. 함수를 사용하여 MySQL 데이터베이스의 에 DefaultTableModel 데이터를 채우려하고 있지만 어떻게 든 작동하지 않습니다. 데이터가 테이블 모델에 채워지지 않습니다. 내 코드를 공유하고있다. 도와주세요.기본 테이블 모델

inventoryTable = new JTable(); 


     String showquery="select * from sample.inventory where parts='BSP'"; 
     PreparedStatement showPst; 

     DefaultTableModel showTable=new DefaultTableModel(); 
     inventoryTable.setModel(showTable); 
     try{ 
      showPst=connect.prepareStatement(showquery); 
      //showPst.setString(2, "BSP"); 
      ResultSet showrs=showPst.executeQuery(); 
      ResultSetMetaData meta=(ResultSetMetaData) showrs.getMetaData(); 
      String[] rowdata=new String[2]; 
     while(showrs.next()){ 
       rowdata[0]=showrs.getObject(2)+" "+showrs.getObject(3)+" "+showrs.getObject(5)+" "+showrs.getObject(8)+" "+showrs.getObject(7); 
       rowdata[1]=(String) showrs.getObject(15); 

       showTable.addRow(rowdata); 
     } 

     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
     inventoryTable.setModel(showTable); 
     showTable.fireTableDataChanged(); 
    inventoryTable.setBounds(62, 0, 489, 306); 
    panel.add(inventoryTable); 
} 

답변

2

테이블에 행과 열이 있습니다. 간단한 디버깅의 비트 테이블 모델은 열을 결여 있음을 보여 주었다 수 :

public static void main(String[] args) { 
    DefaultTableModel tableModel = new DefaultTableModel(); 
    tableModel.addRow(new Object[]{"Test", "Test"}); 
    System.out.println(tableModel.getRowCount());//returns 1 
    System.out.println(tableModel.getColumnCount());//returns 0 
    } 

만큼 테이블의 열을 0이 있기 때문에, 데이터가 표시되지 않습니다. 당신은 예를 들어 열 이름을 지정합니다

public DefaultTableModel(Vector columnNames, int rowCount) 

생성자를 사용할 수 있습니다.