如何将数据库中的选定行转换为jTable?

时间:2013-07-31 05:21:10

标签: java swing jtable

我有一个数据库表,其中包含许多患者详细信息,如注册ID,注册日期等。我想对患者进行基于日期的搜索并将结果输入到jTable中。 (例如,如果我输入23-05-2013作为注册日期,那么5月23日入院的所有患者都应该在jTable中显示。我该怎么做?

这是我用过的代码:

public void getTableData() {
  try {
     con = getConnection.getCon();
     String sql = "SELECT * FROM patientrecords WHERE Registration Date = ?";
     pst.setString(1, regdate.getText());
     pst = con.prepareStatement(sql);
     rs = pst.executeQuery();
     if (rs.next()) {
        patient_table.setModel(DbUtils.resultSetToTableModel(rs));
     }
  } catch (SQLException e) {
     JOptionPane.showMessageDialog(null, e);
  }
}

1 个答案:

答案 0 :(得分:2)

1)您应该自行TableModel实施或延长AbstractTableModel

2)将patientrecords映射到对象世界。实体名称也应该是单数。所以你将拥有像PatientRecord这样的java-bean。

3)您将拥有List<PatientRecord> data作为DataHolder。

填写

while (rs.next()) {
        data.add(new PatientRecord(..));
}

4)在某些部分,您应该设置jtable.setModel(..)

上一个问题可能会对您有所帮助simple code to populate jtable from resultset