2013-09-09 2 views
0

Я пытаюсь заполнить JTable данными из базы данных. Я пробовал так много разных способов, и он просто не хочет работать. В настоящее время у меня есть класс, который возвращает набор результатов со всей базой данных в мой UIClass, который затем использует набор результатов для заполнения JTable. Bellow - мой метод, который извлекает набор результатов, а затем заполняет JTable.Заполнение JTable из базы данных доступа

 private void SetJTable() 
    { 
int count = 0; 
String boatclass, senior, under23, junior; 

try 
{ 
ResultSet results = object.AllWorldBestTimes(); 
DefaultTableModel model = (DefaultTableModel) Times.getModel(); 

model.addColumn("Boat Class"); 
model.addColumn("Senior"); 
model.addColumn("Under 23"); 
model.addColumn("Junior"); 

    while(count<24) 
    { 
     boatclass = results.getString(1); 
     senior = results.getString(2); 
     under23 = results.getString(3); 
     junior = results.getString(4); 

     System.out.println(boatclass + senior + under23 + junior); 
     model.insertRow(Times.getRowCount(), new Object[]{boatclass, senior, under23, junior}); 
     count++; 
    } 
    Times = new JTable(model); 
} 
catch (SQLException e) 
{ 
    System.out.println("Ef"); 
} 
} 

Вот метод извлечения данных из базы данных:

 public ResultSet AllWorldBestTimes() throws SQLException 
{ 
    DatabaseConnection connection = new DatabaseConnection(); 

    ResultSet result = connection.SelectStatements("SELECT * FROM WorldBestTimes"); 

    return result; 
} 

нет аварии, так что я не могу дать трассировку стека, и не вдаваться в заявлении улова.

любая помощь будет оценена!

ответ

1
model.insertRow(Times.getRowCount(), ... 

Times.getRowCount() всегда будет возвращать ноль, так как он пуст.

Times = new JTable(model); 

Переназначает ссылку раз, но он не принимает старую таблицу из формы или добавить новую в форму.

Попробуйте это ...

model = new DefaultTableModel(); 

... и это ...

model.insertRow(model.getRowCount(), ... 

... и это ...

Times.setModel(model); 

Трудно сказать, если что сделает это или нет. Образец кода не точно SCCE.