从 Postgres 数据库填充 jTable

Posted

技术标签:

【中文标题】从 Postgres 数据库填充 jTable【英文标题】:Populate jTable from Postgres database 【发布时间】:2018-12-03 09:35:06 【问题描述】:

我是 java swing 新手,所以不要介意这是一个非常基本的问题。

任务是从 PostgreSQL 数据库中获取数据并将其填充到jTable。我遵循示例Example。但是仍然缺少一些东西。我在控制台中从数据库接收数据,但不在表中。这是代码

DefaultTableModel model_search=DefaultTableModel)jTable_Search.getModel();
String connection_string="jdbc:postgresql://"+host_db+":"+port_db+"/"+name_db+"";

    try(Connection connection = DriverManager.getConnection(connection_string,username_db, password_db)) 
        Statement statement = connection.createStatement();
        String sql_beacons="query to database";
        ResultSet resultSet_beacons = statement.executeQuery(sql_beacons);
        ResultSetMetaData metaData = resultSet_beacons.getMetaData();
        int columns = metaData.getColumnCount();
        while (resultSet_beacons.next())
           System.out.printf(resultSet_beacons.getString("mac")+" ");
           Object[] objects = new Object[]resultSet_beacons.getString("mac");
           model_search.addRow(objects);  
                                                         
    

【问题讨论】:

【参考方案1】:

http://technojeeves.com/index.php/22-resultset-to-tablemodel下载并包含库

在您的代码中,此语句会将数据填充到 jTable。

String sql="Query to database";
ResultSet rs = stat.executeQuery(sql); 
jTable_Search.setModel(DbUtils.resultSetToTableModel(rs));

【讨论】:

以上是关于从 Postgres 数据库填充 jTable的主要内容,如果未能解决你的问题,请参考以下文章

当我使用 DefaultTableModel 从 CachedRowSet 填充 jTable 时,为啥 JTable 的列标题没有更新?

Postgres 批量数据导入和填充相关数据

使用来自两个数据库表 JDBC 的详细信息填充 JTable

从 jTable 更新 SQL Server 表

如何以数组形式检索 JTable 数据

JTable 不会在将数据插入 mysql 时重新绘制/刷新