javafx使用数据库自动完成
我正在尝试使用自动完成javafx使用数据库自动完成,java,javafx,javafx-8,javafx-2,controlsfx,Java,Javafx,Javafx 8,Javafx 2,Controlsfx,我正在尝试使用自动完成controlfx来完成我的项目,代码是 TextFields.bindAutoCompletion( textField, "Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola"); 这段代码只能在所有列表都已知的情况下使用,但我正在尝试将其与mysql数据库和我使用的代码连接起来 try{ Class.fo
controlfx
来完成我的项目,代码是
TextFields.bindAutoCompletion(
textField,
"Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola");
这段代码只能在所有列表都已知的情况下使用,但我正在尝试将其与mysql数据库和我使用的代码连接起来
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","root");
String sql="Select * from table";
Statement stm=(Statement) con.createStatement();
ResultSet rs=stm.executeQuery(sql);
TextFields.bindAutoCompletion(
textfield,"");
while(rs.next()){
TextFields.bindAutoCompletion(
textfield,rs.getString(2));
}
}
catch (ClassNotFoundException | SQLException e) {
}
但我有一个问题,它只显示一个项目的建议框,虽然它有多个匹配
请帮帮我
谢谢。在while循环中,您将为每个结果重新绑定结果。因此,只有最后的结果才能获胜。您真正想要的是从ResultSet条目创建一个集合或数组,然后在执行查询后将其绑定一次