【问题标题】:How to get the list inside a resultset?如何获取结果集中的列表?
【发布时间】:2013-07-04 09:07:06
【问题描述】:

我在我的数据库中进行查询并将结果放入结果集中。我在结果集中有 8 个属性,其中前 7 个是字符串,所以我可以通过编写来获取它们:

rs.getString(1), rs.getString(2) ... etc

然后在索引 8 处,我有一个 ArrayList。我尝试使用它并使用其中的值创建新列表,但我做不到。这是我的代码,您可以在注释掉的行中看到我在那里尝试过的内容:

public void loginCheck() {
    try {
        Bank bank = Bank.getBank();
        ResultSet rs = queryDatabase();

        if (rs.next()) {
          //  List<Account> a = (List<Account>) rs.getObject(8, ArrayList);  DOES NOT WORK
            Customer currentCustomer = new Customer(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7));
            addToSession(currentCustomer);
            rs.close();
            DBConnect.disconnect(con);
            FacesContext.getCurrentInstance().getExternalContext().redirect("main.xhtml");
        } else {
            rs.close();
            DBConnect.disconnect(con);
        }
    } catch (SQLException | IOException e) {
    }
}

private ResultSet queryDatabase() {
    con = DBConnect.connect();
    try {
        PreparedStatement checkDB = (PreparedStatement) con.prepareStatement("SELECT * FROM users where identityNumber = ? AND password = ?");
        checkDB.setString(1, identityNumber);
        checkDB.setString(2, password);
        ResultSet res=(ResultSet) checkDB.executeQuery();
        return res;
    } catch (Exception e) {
        return null;
    }
}

编辑:我有一个带有 8 个属性的 Customer 对象,其中前 7 个是字符串,最后一个是 ArrayList 对象。我的结果集 rs 包含一个客户对象,所以我想从结果集中获取这个列表,我的意思是这个特定用户的帐户

那么我怎样才能在结果集中得到这个 ArrayList?有人可以帮忙吗?

谢谢

【问题讨论】:

  • 或许您应该从 0..7 而非 1..8 开始计算?顺便说一句,包含意外的输出可能会有所帮助。
  • @eriksensei 我认为它从 1 开始,因为索引 0 返回 null 而索引 1 返回第一个属性
  • 啊,我明白了,这显然是一种 JDBC 主义。那么你得到的输出是什么?
  • 不起作用是什么意思?什么错误?
  • @codingbiz 它说找不到符号 ArrayList

标签: java list jdbc arraylist resultset


【解决方案1】:

在您的注释代码中您缺少 .class,它应该是:

List<Account> a = (List<Account>) rs.getObject(8, ArrayList.class); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-12
    • 2022-07-11
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    相关资源
    最近更新 更多