javafx使用AutoCompletion与数据库

时间:2014-08-04 13:44:06

标签: java javafx javafx-8 javafx-2 controlsfx

我正在尝试将controlfx的AutoCompletion用于myy项目,代码是

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) {

        }

但是我遇到了一个问题,它只在Suggestion框中显示1个项目,尽管它有多个匹配

请帮帮我。

谢谢。

1 个答案:

答案 0 :(得分:1)

在while循环中,您将重新绑定每个结果的结果。因此,只有最后的结果获胜。您真正想要的是从ResultSet条目创建一个集合或数组,然后在执行查询后将其绑定一次