java - 如何将数据库中的所有记录显示到JTable?

标签 java mysql swing jtable

对不起。我想显示 JTable 中的所有记录。但我感到困惑,因为我的编码只显示 1 条记录。当我再次单击它时,只会显示相同的记录。 你能帮我如何获取所有记录吗?

try {

            Statement stmt;
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM menu");

            if (rs.next()) {
                String menu_id = rs.getString("menu_id");
                String menu_type = rs.getString("menu_type");
                String menu_cat = rs.getString("menu_cat");
                String menu_name = rs.getString("menu_name");
                String menu_price = rs.getString("menu_price");

                DefaultTableModel model = (DefaultTableModel) tblMenu.getModel();
                model.addRow(new Object[]{menu_id, menu_type, menu_cat, menu_name, menu_price});
            }

        } catch (Exception e) {
            System.out.println("Failed " + e);
        }

我不知道如何编码。谢谢

最佳答案

改变

if (rs.next())

while (rs.next())

不仅运行一次代码块,而且运行到 ResultSet 的末尾。

它实际上应该是这样的

DefaultTableModel model = (DefaultTableModel) tblMenu.getModel();
while (rs.next()) {
    String menu_id = rs.getString("menu_id");
    String menu_type = rs.getString("menu_type");
    String menu_cat = rs.getString("menu_cat");
    String menu_name = rs.getString("menu_name");
    String menu_price = rs.getString("menu_price");

    model.addRow(new Object[]{menu_id, menu_type, menu_cat, menu_name, menu_price});
}

关于java - 如何将数据库中的所有记录显示到JTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151444/

相关文章:

java - 从 YANG 数据模型生成 XML RPC NETCONF 请求的标准方法是什么

php - Eloquent :只从时间戳中获取日期

php - CakePHP 发现未在查询中插入正确的引号

java - JTabbedPane 带有获取 Pane 的按钮

java - MigLayout 中的 Glue 等效项

java - 在 Swing 中使用空布局时,我的组件只有在将鼠标悬停在它们上时才会出现

java - Java 中的 DriverManager.getConnection 使用相对路径

java - Java编译错误

java - parseInt 时 SQLite 错误

javascript - 如何将单个 SQL OR 运算符应用于 Sequelize 中的表及其关联表?