作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我试图从数据库中获取数据并将其放入 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/
我是一名优秀的程序员,十分优秀!