JComboBox 仅显示数据库中的一项

JComboBox only show one item from database

我正在尝试将数据库项目显示到 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();

将调用 method/function 然后用户按下登录按钮。

我现在遇到的问题是,它只显示一项,而我的数据库有多项。

有人知道为什么吗?

        Vector v = new Vector();
        while (resultSet.next()){
            String list = resultSet.getString("itemname");
            v.add(list);

        }
        conn.close();
        purcItemName.setModel(new DefaultComboBoxModel(v));

将从数据库中获取的数据存储在矢量对象中,完成后将组合框中的矢量对象设置为新模型。试试这个 不要关闭循环中的连接。

你正在关闭内部连接 ​​resultSet.next() 检查,把 conn.close() 放在外面,到最后