1

我有一个数据库表,其中包含许多患者详细信息,例如注册 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);
  }
}
4

1 回答 1

2

1)您应该自己TableModel实现或扩展AbstractTableModel

2)映射patientrecords到对象世界。实体名称也应该是单数。因此,您将拥有一个类似PatientRecord.

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

填写喜欢

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

4)在某些部分你应该在你的jtable.setModel(..)

这个先前的问题可能会帮助您使用简单的代码从结果集中填充 jtable

于 2013-07-31T05:41:36.427 回答