0

このコードを使用してデータベースから値を取得しましたが、取得できるレコードは 1 つだけですが、すべてのレコードをコンボボックスに入れたいと考えています。

私のコードは次のとおりです。

try {
    stm = db.con.createStatement();

    rs = stm.executeQuery("select code from accounts");

    while (rs.next()) {
        for (int i = 1; i <= 5; i++) {
            ol = rs.getObject(i);
        }

    }
} catch (SQLException sqlException) {
}

ObservableList<Object> options = FXCollections.observableArrayList(ol);

final ComboBox code = new ComboBox();

code.getItems().addAll(options);
4

1 に答える 1

1

問題は、変数olにResultsSetから抽出した最後のオブジェクトが含まれているだけであるように見えます。あなたがやろうとしていたことは次のようなものだったようです。

ArrayList<Object> ol = new ArrayList<Object>();
while (rs.next()) { 
    for (int i = 1; i <= 5; i++) { 
        ol.add(rs.getObject(i)); 
    } 

} 

これがあなたが望むものを正確に実行するかどうかはわかりませんが、うまくいけば、これは、コンボボックスにオブジェクトが1つしかない理由を示しています。

于 2012-06-15T17:13:42.390 に答える