如何将数据库中的所有记录显示到JTable? [英] How to show all records in database to JTable?
本文介绍了如何将数据库中的所有记录显示到JTable?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
不好意思.我想显示JTable中的所有记录.但是我很困惑,因为我的编码只显示了1条记录.当我再次单击它时,它只显示相同的记录. 您能帮我如何获取所有记录吗?
Excuse me. I want to show all records in JTable. But I get confused because my coding just show 1 record. When I click it again, that just show same records. Can you help me how to get all records?
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);
}
我不知道如何编码.谢谢
I have no Idea how to code it. Thank you
推荐答案
更改
if (rs.next())
到
while (rs.next())
不仅可以运行一次代码块,而且还可以运行到ResultSet
的末尾.
to run to the code block not just once, but till the end of the ResultSet
.
它实际上应该看起来像这样
It should actually look like this
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});
}
这篇关于如何将数据库中的所有记录显示到JTable?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文