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