从DB填充多个JTextField

时间:2012-01-08 23:41:19

标签: java jdbc jtextfield

我想用数据库中检索的数据填充几个JTextField。 我知道,我可以这样做:

while (rs.next()) {
   tfName.setText(rs.getString("name"));
   tfAge.setText(rs.getString("age"));
}

但是,选择方法结尾只有一个return是否有更智能的方法?

1 个答案:

答案 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会快速遍历数据库行,并且只会真正显示数据库的最后一行。这需要改变。