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

Kun*_*nal 0 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());
    }

}
Run Code Online (Sandbox Code Playgroud)

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

我需要什么帮助 - 我需要帮助实现一个Jlist,它将填充DB列中的字段.

我试着在网上寻求帮助,最接近解决方案是我上面设法做的.

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

Resultset - > Array - > Jlist Resultset - > Vector - > Jlist

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

Mar*_*zzi 5

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

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