从DB varchar数据中生成一个列表-NetBeans+Derby



我的问题是我不知道如何用我的derby db 中的一些数据创建一个列表(来自NetBeans的Jlist)

例如:

我有一个表单,可以保存来自"客户"的id、姓名、电话和电子邮件,我想在列表中显示我以前注册的客户的所有姓名,问题是我需要将varchar数据转换为listmodel。我该怎么做?我试过了,但没有成功:

    while (rs.next()){
        int id_col = rs.getInt("clientID");
        String name = rs.getString("clientName");
        client_listClients.setText(name);       
    }

上面写着"找不到.setText 的符号"

使用DefaultListModel 编辑

工作结果!

public void DoConnect( ) {
    DefaultListModel model = new DefaultListModel();
    client_listClients.setModel(model);
    try {
        String host = "jdbc:derby://localhost:1527/ANAIA_DB";
        String uName = "*****";    
        String uPass = "*****";
        con = DriverManager.getConnection(host, uName, uPass);
        stmt = con.createStatement();
        String sql = "SELECT * FROM APP.CLIENT";
        rs = stmt.executeQuery(sql);

        while (rs.next()){
            int id_col = rs.getInt("clientID");       
            String name = rs.getString("clientName");
            model.addElement(name);
        }
    } catch (SQLException err) {
        JOptionPane.showMessageDialog(main.this, err.getMessage());
    }
}

Thx aloooot@peeskillet

上面写着"找不到符号"。setText"

JList没有方法setText()。如果有疑问,请阅读文档

相反,您将希望使用ListModel。如果您不想创建自己的,可以使用提供的DefaultListModel实现。这就是方法addElement

您首先需要用模型声明您的列表。

DefaultListModel model = new DefaultListModel();
JList client_listClients = new JList(model);

然后您可以使用方法addElement,它将在所有添加完成后自动更新UI。无需对列表做任何操作。

while (rs.next()){
    String name = rs.getString("clientName");
    model.addElement(name);
}

您可以在How to use Lists中看到更多信息,并关注创建模型一节

相关内容

  • 没有找到相关文章

最新更新