2012-01-08 182 views
0

我想使用從數據庫中檢索的數據填充多個JTextFields。 我知道,我可以這樣做:從數據庫中填充幾個JTextFields

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

但有隻有一個return在選擇方法的最後一個更聰明的方法呢?

+2

您指的是哪種select方法?還要注意,擁有這樣一個更新'JTextField'實例的'while'循環沒什麼意義,因爲每個'JTextField'只能包含一個'String'作爲文本。你最好直接使用'ResultSet'的最後一個條目 – Robin 2012-01-08 23:52:00

+0

這只是一個例子,在我的情況下,我只會收到一個結果。我的意思是數據庫類中的一般選擇方法。 – 2012-01-08 23:57:10

回答

1

您可以將您的JTextFields放在Map<String, JTextField>中,然後使用數據庫列鍵字符串作爲文本字段映射(稱爲fieldMap)的鍵,並且還具有這些鍵字符串的數組。然後像你可以做一些事情:

while (rs.next()) { 
    for (String key: KEY_STRINGS) { 
    fieldMap.get(key).setText(rs.getString(key)); 
    } 
} 

話雖如此,在while (rs.next())錯誤我有點爲我擔心,而將通過數據庫行快速循環,只會真正顯示數據庫的最後一行。這需要改變。