Я пытаюсь использовать AutoCompletion controlfx
для 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) {
}
но у меня возникла проблема, что он отображает только 1 пункт в поле "Предложения", хотя он имеет несколько совпадений
Пожалуйста, помогите мне.
Спасибо.
В цикле while вы восстанавливаете результат для каждого результата. Таким образом выигрывает только последний результат. Вы действительно хотите создать коллекцию или массив из записей ResultSet, которые вы связываете один раз после выполнения запроса.