2012-01-08 1 views
0

データベースから取得したデータをいくつかのJTextFieldに書きたいと思います。DBからいくつかのJTextFieldを入力する

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

しかし、selectメソッドの最後に1つだけreturnとのよりスマートなアプローチがあります: 私は私のような何かができる、知っていますか?

+2

どのセレクト方法を参考にしていますか? 'JTextField'インスタンスが更新されるような' while'ループを持つことはあまり意味がないことに注意してください。それぞれの 'JTextField'は1つの' String'をテキストとしてのみ含むことができるからです。あなたは 'ResultSet'の最後の項目を直接取ることもできます – Robin

+0

これは単なる例でしたが、私の場合は1つの結果しか受け取らないでしょう。私は、データベースクラスの一般的なselectメソッドを意味します。 –

答えて

1

Map<String, JTextField>にJTextFieldを配置し、データベースの列キー文字列をテキストフィールドマップのキー(例:fieldMap)として使用し、これらのキー文字列の配列を使用することもできます。

私はしばらくの間は、データベースの行を素早くループし、唯一の真のデータベースの最後の行を表示することを恐れて、この、 while (rs.next())バグ私ビットを言って
while (rs.next()) { 
    for (String key: KEY_STRINGS) { 
    fieldMap.get(key).setText(rs.getString(key)); 
    } 
} 

:あなたのような何かを行うことができます。これは変更する必要があります。

関連する問題