JComboBox只显示数据库中的一个项目

时间:2016-04-23 07:39:56

标签: java swing sqlite jcombobox

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

将调用方法/函数,然后用户按登录按钮。

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

任何人都知道为什么?

2 个答案:

答案 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()放在外面,到最后