Заполнение поля со списком данными mysql

#java #mysql

#java #mysql

Вопрос:

всем привет, у меня есть этот код, но я не знаю, почему он не работает!

 //in database class 

String query = "SELECT group_name FROM customer ORDER BY group_name"; 
java.sql.PreparedStatement stm = connection.prepareStatement(query); 

rs = stm.executeQuery(query); 

while (rs.next()) { 
String x = rs.getString("group_name"); 
System.out.println(x); 
} 

rs.close(); 
} 


//combo box action 


int group = jcombobox.getSelectedIndex(); 

rg_domain rg = new rg_domain(); 
rg.setGroup(group); 
rg.setPhone_number(phone_no); 

dbconnection db = new dbconnection(); 

db.broadcastmsgservice_sms(rg); 
} 


//domain class 
 private String group;
public void setGroup(String group) { 
this.group = group; 
} 
public String getGroup() { 
return group; 
} 
  

кто-нибудь может мне помочь, пожалуйста..

Комментарии:

1. @Luzhin нет никакого сообщения об ошибке. но оно не заполняет поле со списком данными таблицы mysql.

2. Кажется, вы здесь полностью заблудились. Вы просто проходите ResultSet . Вы используете эти значения в while цикле.

3. вы должны добавить значение в массив JList внутри while (rs.next()) { …

4. @Luzhin, @Talha_Ahmed_Khan, @Behrang_Saeedzadeh Большое вам спасибо за помощь мне. Я решил свою проблему с вашей помощью.

Ответ №1:

Ваш вопрос не очень понятен, но вот как вы заполняете поле со списком результатами, полученными из базы данных:

 // Create an array list to be filled with group names
ArrayList<String> groupNames = new ArrayList<String>();
String query = "SELECT group_name FROM customer ORDER BY group_name"; 
PreparedStatement stm = connection.prepareStatement(query); 

ResultSet rs = stm.executeQuery(query); 

while (rs.next()) { 
    String groupName = rs.getString("group_name"); 
    // add group names to the array list
    groupNames.add(groupName)
} 

rs.close(); 


// Populate the combo box
DefaultComboBoxModel model = new DefaultComboBoxModel(groupNames.toArray());
comboBox.setModel(model);