【发布时间】:2014-11-21 00:32:14
【问题描述】:
我有一个使用嵌入式 derby jdbc 和 jtable 设置的项目,但是当我尝试通过结果集将数据库中的数据附加到我的 jtable 并将结果集中的结果添加到 string[] 并将其添加到我的 tablemodel 结果显示为空白。
这是我的数据库结果集:
ResultSet res = statement.executeQuery("SELECT * FROM VAULT");
while (res.next()) {
String [] row = {res.getString("Expenses"), res.getString("ExpensesType"), res.getString("PaymentType"), res.getString("Amount"), res.getString("Date")};
System.out.print(res.getString("Expenses"));
System.out.print(res.getString("ExpensesType"));
System.out.print(res.getString("PaymentType"));
System.out.print(res.getString("Amount"));
System.out.print(res.getString("Date"));
GUI.tableModel.addRow(row);
GUI.tableModel.fireTableDataChanged();
}
res.close();
这是我的表格代码:
table = new JTable(tableModel);
table.setBackground(Color.GRAY);
table.setFillsViewportHeight(true);
JTableHeader header = table.getTableHeader();
header.setBackground(Color.DARK_GRAY);
header.setForeground(Color.LIGHT_GRAY);
scrollPane.setViewportView(table);
tableModel.addColumn("Expenses");
tableModel.addColumn("Expense Type");
tableModel.addColumn("Payment Type");
tableModel.addColumn("Amount");
tableModel.addColumn("Date");
【问题讨论】:
-
你有什么错误吗?
-
应该不需要调用
fireTableDataChanged,这应该由表模型本身自动完成,永远不应该被外部调用。考虑提供一个runnable example 来证明您的问题。这将导致更少的混乱和更好的响应 -
@getlost 我没有收到任何错误
-
@MikeNguyen 你得到 System.out.print 正确吗?
-
@getlost 是的,我的系统输出是 CookieFoodChase Debit Card2.50Sep/25/2014,这是我作为测试导入的数据。
标签: java database swing jdbc jtable