java - 从 Access 数据库填充 JTable

标签 java database swing jtable

我正在尝试使用数据库中的数据填充 JTable。我尝试了很多不同的方法,但就是不起作用。目前,我有一个类,它将包含整个数据库的结果集返回到我的 UIClass,然后 UIClass 使用该结果集填充 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;
}

没有崩溃,所以我无法提供堆栈跟踪,也不会进入 catch 语句。

任何帮助将不胜感激!

最佳答案

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

Times.getRowCount() 总是返回零,因为它是空的。

Times = new JTable(model);

重新分配引用时间,但不会将旧表从表单中取出或将新表添加到表单中。

试试这个...

model = new DefaultTableModel();

...还有这个...

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

...还有这个...

Times.setModel(model);

很难说这是否有效。该代码示例并不完全是 SCCE。

关于java - 从 Access 数据库填充 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703917/

相关文章:

java - 使用 CXF 测试 Web 服务连接

Java - ArrayList 返回空

java - 当我使用 GROUP BY 组合值时,如何显示 SQL 表中的更改?

java - 在文件夹下的文件中搜索有效模式? (也许使用 Perl 或使用 Java 的一些 API 或其他任何东西)

java - 如何计算eclipse中基于Java的工具的编译时间

mysql - 是否可以自动将 mysql 数据库备份到 dropbox?

database - Sequelize : A is not associated with B

php - 如何从 MYSQL 数据库中的最后 10 条记录中获取最小的 ID?

java - 在 Swing MDI 中管理 JInternalFrames

java - JTextfield 未在 GUI 中动态更新