我正在努力获取名为'名称'的列的值。在我的数据库中。我还需要将它们插入到Observabllelist
中,以便我可以将它们用作choiceBox
中的选项。
@FXML
ObservableList GetTournamentsName() throws SQLException {
ObservableList<String> optionList = null;
Connection con = DBconnection.getConnection();
Statement st = con.createStatement();
String sql = ("SELECT Name FROM `tournaments`");
ResultSet rs = st.executeQuery(sql);
if (rs.next()) {
optionList = FXCollections.observableArrayList(rs.getString("Name"));
con.close();
}
return optionList;
}
然后通过为Choicbox TournamentsOption
方法分配GetTournamentsName()
值来初始化应用程序的场景。
@FXML
void initialize() throws SQLException {
TournamentsOption.setItems(GetTournamentsName());
}
代码只是部分工作,我实际上获得了表中的第一个名称而不是所有其他名称。这就是我要问的问题,如何获得所有值? 提前感谢您的帮助!
答案 0 :(得分:2)
在这里,你有一个if (rs.next()) {
,它不会为rs.next()
进行迭代
您需要将其设为while (rs.next()) {
并根据需要更改添加逻辑
答案 1 :(得分:0)
您需要先声明并初始化您的optionList。然后您将数据添加到它。您的方法只会有一个数据字符串。您还在错误的位置关闭了连接。
import {Component} from '@angular/core';
@Component({
selector: 'dashboard-subpage',
templateUrl: 'templates/dashboard',
})
export class DashboardComponent {
constructor() {
}
}