2011-06-14 150 views
1

嗨,大家好,我有这段代码,但不知道为什么它不起作用!用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; 
} 

任何人都可以帮我请..

+0

@Luzhin没有任何错误消息。但它不会用mysql表格数据填充组合框。 – 2011-06-14 09:51:08

+0

似乎你完全迷失在这里。你只是遍历ResultSet。您正在'while'循环中使用这些值。 – 2011-06-14 09:53:36

+0

你必须增加数值的JList里面while(rs.next()){... – mKorbel 2011-06-14 10:04:02

回答

8

你的问题不是很清楚,但这里是你如何填充从数据库中检索结果的组合框:

// 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); 
+0

它对我来说很完美 谢谢! – roadev 2016-05-16 07:38:42