【问题标题】:java: how to get values into jTable from databasejava:如何从数据库中获取值到jTable中
【发布时间】:2012-06-27 18:17:21
【问题描述】:

我已经创建了一个 jTable。我想将来自两个不同表的数据显示到表中,即表员工和表 intime。我为此使用了两个结果集,但它在 jTable 中显示了最后一个结果集的值。 我的代码是

public void showDailyReport()
{
try
{
        Connect c=new Connect();//connection to database
        con=(Connection) c.getConnection();
        st1=con.prepareStatement("select employee_id,employee_name from tbl_employee");
        rs1=st1.executeQuery();
        st2=con.prepareStatement("select intime from tbl_intime");
        rs2=st2.executeQuery();
        table_daily.setModel(DbUtils.resultSetToTableModel(rs1));
        table_daily.setModel(DbUtils.resultSetToTableModel(rs2));

}
catch(Exception e)
{
   System.out.println(e); 
}
}

请帮我重新编码。

【问题讨论】:

  • 对我来说似乎是个奇怪的查询...您如何确保某个员工的intime 最终会在这些查询中以正确的employee 结束?看起来你的查询中一个简单的JOIN 可以避免之后加入两个TableModels 的困难
  • 为什么在我的 IDE 中找不到DbUtils

标签: java mysql swing netbeans jdbc


【解决方案1】:

因为你正在覆盖它

    table_daily.setModel(DbUtils.resultSetToTableModel(rs1));
    table_daily.setModel(DbUtils.resultSetToTableModel(rs2));

如果您想将第二个结果集中的添加数据附加到模型而不是覆盖

【讨论】:

  • 只需修改您的方法DbUtils.resultSetToTableModel(rs1) 以接受List<ResultSet> 并像DbUtils.resultSetToTableModel(listOfResultSet) 一样调用它,然后遍历此方法中的每个结果集以填充模型
  • 我希望将两个表中的数据放到一个 JTabel 中
  • 这就是我在上面评论中的建议
猜你喜欢
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 2012-08-02
  • 2012-12-26
  • 1970-01-01
  • 2011-02-15
相关资源
最近更新 更多