1

私はcontrolfxmyyプロジェクトのオートコンプリートを使用しようとしていますが、コードは

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

        }

しかし、複数の一致があるにもかかわらず、提案ボックスに1つのアイテムしか表示されないという問題がありました

私を助けてください。

ありがとうございました。

4

1 に答える 1

1

while ループでは、結果ごとに結果を再バインドしています。したがって、最後の結果のみが勝ちます。本当に必要なのは、クエリを実行した後に一度バインドする ResultSet エントリからコレクションまたは配列を作成することです。

于 2014-08-21T05:52:14.527 に答える