我想用数据库中检索的数据填充几个JTextField。 我知道,我可以这样做:
while (rs.next()) {
tfName.setText(rs.getString("name"));
tfAge.setText(rs.getString("age"));
}
但是,选择方法结尾只有一个return
是否有更智能的方法?
答案 0 :(得分:1)
您可以将JTextField放在Map<String, JTextField>
中,然后使用数据库列键字符串作为文本字段映射的键(例如,称为fieldMap),并且还具有这些键字符串的数组。然后你可以这样做:
while (rs.next()) {
for (String key: KEY_STRINGS) {
fieldMap.get(key).setText(rs.getString(key));
}
}
话虽如此,while (rs.next())
让我有点烦恼,因为我担心while会快速遍历数据库行,并且只会真正显示数据库的最后一行。这需要改变。