我正在尝试将数据库项显示为JComboBox
,这是我的代码。
public static void checkItemName(){
Connection conn = SQLite.SQLite();
String sql = "select itemname from item";
try{
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()){
String list = resultSet.getString("itemname");
purcItemName.addItem(list);
conn.close();
}
} catch (SQLException lol){
System.out.println(lol.toString());
}
}
我确实声明了static JComboBox purcItemName;
和purcItemName = new JComboBox();
将调用方法/函数,然后用户按登录按钮。
我现在遇到的问题是,它只显示一个项目,而我的数据库有多个项目。
任何人都知道为什么?
答案 0 :(得分:1)
Vector v = new Vector();
while (resultSet.next()){
String list = resultSet.getString("itemname");
v.add(list);
}
conn.close();
purcItemName.setModel(new DefaultComboBoxModel(v));
将从数据库中获取的数据存储在矢量对象中,一旦完成,将组合框中的矢量对象设置为新模型。试试这个 并且不要关闭你的循环中的连接。
答案 1 :(得分:0)
你正在关闭resultSet.next()中的连接检查,将conn.close()放在外面,到最后