JAVA - 如何在查询 MS Access DB 后使用 ResultSet 的内容填充 JList

标签 java sql database arrays jlist

private void populateJlist(){
    try
    {
        Connection connection = newConnection.createConnection();
        Statement newStat = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
        ResultSet res = newStat.executeQuery("SELECT AccName FROM AccList");

                String data = "";
        while (res.next()){
            data += res.getString("AccName") + " ";
        }
        String acclist[] = data.split(" ");
        AccountList = new JList(acclist);
        newStat.close();
        connection.close();

    }
    catch(SQLException e){
        System.err.println("SQLException: " + e.getMessage());
    }

}

应该做什么 - 该方法将从 AccList 表中查询 DB AccName 列并获取所有帐户名称并将它们插入 Jlist

我需要什么帮助 - 我需要帮助实现 Jlist,该 Jlist 将填充数据库列中的字段。

我尝试通过在线搜索帮助,最接近的解决方案就是我上面设法做的事情。

我了解到有两种可能的方法

结果集 -> 数组 -> Jlist 结果集 -> vector -> Jlist

但是我也不知道如何进行这些转换。我想说我是一个JAVA新手。任何详细的帮助表示赞赏。

最佳答案

正如你所说,使用数组或 vector 会比你的分割解决方案更干净、更容易。就我个人而言,我建议使用 Vector。基本上,您想要创建一个空 vector ,迭代结果集,通过 Vector.add(Object o) 将每个值添加到 vector 中。方法,然后使用 vector 在循环外部创建 jlist。像这样的东西(警告:未经测试)

Vector<String> temp = new Vector<String>();
while (res.next()) {
    temp.add(res.getString("AccName"));
}
Jlist acctList = new Jlist(temp);

关于JAVA - 如何在查询 MS Access DB 后使用 ResultSet 的内容填充 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304388/

相关文章:

java - 如何从 Vaadin TreeGrid/Grid 的行和单元格获取应用的背景颜色?

sql - 是否可以取消关联所有相关的 SQL 子查询?

php - 我可以使用 google maps pin 来填充我网页上的表单吗?

database - 如何在 PostgreSQL 中将数据库从一台服务器移动到另一台服务器?

java - Spring kafka错误由: java. lang.ClassNotFoundException : org. springframework.kafka.transaction.KafkaAwareTransactionManager引起

java - 调用抛出 FileNotFoundException 的方法

java - JSS SSLSocket 问题选择客户端证书

MySql 在存储过程中循环

SQL 服务器 : need to add a primary key

java - JCalendar - 使用正确的格式在 Java 中正确设置日期