对不起。我想显示 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/