gpt4 book ai didi

java - 如何在jTable中显示数据库内容?

转载 作者:行者123 更新时间:2023-12-01 11:07:21 26 4
gpt4 key购买 nike

所以我试图从数据库中获取数据并将其放入 jTable 中。它工作正常,因为它显示了第一组结果,但随后它只是不断重复相同的记录。有人知道有什么问题吗?提前致谢!

void Flight(){
try{

int x = 0;
while (rs.next()){
jTable1.setValueAt(flightID, x, 0);
jTable1.setValueAt(departdate, x, 1);
jTable1.setValueAt(departtime, x, 2);
jTable1.setValueAt(destination, x, 3);
jTable1.setValueAt(arrivdate, x, 4);
jTable1.setValueAt(arrivtime, x, 5);

x++;
rs.next();
}
}
catch(SQLException err) {
JOptionPane.showMessageDialog(AdminWindow.this, err.getMessage());
}
}

最佳答案

好吧,您永远不会更改变量“flightID”、“departdate”等中的值。调用 rs.next() 不会更新这些值。

因此在循环内您需要从 ResultSet 中获取值。有些人认为:

//jTable1.setValueAt(flightID, x, 0);
jTable1.setValueAt(rs.getObject(1), x, 0);

此外,您还调用 rs.next() 两次,因此您将跳过数据行。

但是,使用 setValueAt(...) 方法更新 TableModel 并不是一个好主意,因为您事先不知道有多少行,所以您不知道知道创建表有多大。相反,最好创建一行数据,然后将一行数据添加到 TableModel。这样模型就是动态的。

此方法的示例可以在 Table From Database 中的来自数据库的表示例代码中找到。 .

关于java - 如何在jTable中显示数据库内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32804448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com