2017-06-14 3 views
0

Ich wollte eine Tabelle in meiner GUI implementieren, um die Patientenliste meiner Datenbank anzuzeigen. Es zeigt mir nichts. Jemand hat eine Idee, warum es nicht funktioniert? Ich bin fast sicher, dass dieser Code funktionieren sollte. Ich hoffe, dass jemand mir helfen kann.DefaultTableModel java + sql

private void initTable() throws SQLException { 

    Vector columnNames = new Vector(); 
    Vector rowData = new Vector(); 

    DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames); 
    table.setModel(tableModel); 
    table.setBounds(10,410,50,20); 
    JScrollPane scrollPane = new JScrollPane(table); 
    add(scrollPane, BorderLayout.SOUTH); 

    conn = Connector.connection(); 

    PreparedStatement stm; 
    String query = "Select * from patient;"; 
    stm = conn.prepareStatement(query); 
    try { 
     rs = stm.executeQuery(); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    int i = 0; 
    while(rs.next()){ 
     rs.getString(i); 
     rowData.add(i,rs); 
     i++; 
    } 



    columnNames.add("PatientID"); 
    columnNames.add("Surname"); 
    columnNames.add("Lastname"); 
    columnNames.add("Birthdate"); 
    columnNames.add("Adress"); 
    columnNames.add("Height"); 
    columnNames.add("Weight"); 
    columnNames.add("Gender"); 
    columnNames.add("Emergencycontact"); 
    columnNames.add("Emergencynumber"); 
    columnNames.add("roomNr"); 


    conn.close(); 
} 

Grüße Samir

Antwort

0

Wenn Sie sagen, "er nichts zeigen", ist es wörtliche? Ohne Annahmen, würde ich Überprüfung unterhalb der Punkte empfehlen:

  1. Wenn Sie Schaukel verwenden, stellen Sie sicher, dass unter Codes in Ihrem JFrame haben:

    frame.setContentPane(container); 
    frame.pack(); 
    frame.setVisible(true); 
    
  2. Sie haben einen DefaultTableModel nach dem column Vektor erstellt wird mit Daten zugewiesen, versuchen Sie, die Zuweisung nach vorne zu verschieben.

  3. Sie haben den Tabellendatenvektor aktualisiert, nachdem das DefaultTableModel erstellt wurde. Versuchen Sie

    tableModel.fireTableChanged();