【问题标题】:iterate through resultset passed in array [closed]遍历数组中传递的结果集[关闭]
【发布时间】:2014-02-17 15:35:40
【问题描述】:

我已将 ArrayList 传递给另一个方法。 在这种方法中,我需要从 ArrayList 中提取结果集并对其进行迭代。 结果集正在传递没有问题。

问题是试图从数组中提取结果集,因此我无法做到 结果集 = GUIsidearray.get(0);不起作用,因此我不能做 while(resultSet.next()).

请参阅下面的一些代码示例。 任何帮助将不胜感激。

public void updateLocal(ArrayList<ArrayList<Object>> GUIsidearray) {

    System.out.println("Get passed Array Value " + GUIsidearray.get(0));
    // Shown in console -> Get passed Array Value
    // [sun.jdbc.odbc.JdbcOdbcResultSet@1adc30] //

    ResultSet resultSet
    resultSet = GUIsidearray.get(0);

    boolean emptyRs = true;

    try {
        while (resultSet.next()) {
            emptyRs = false; // If ResultSet is empty

            String Serno = (resultSet.getString("Serialnumber"));
            System.out.println("Serial Number " + Serno);
        }
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

【问题讨论】:

  • 尝试使用for每个循环
  • 定义“不起作用”。 ArrayList&lt;Object&gt; 不是 ResultSet 所以你不能指望 ResultSet resultSet = GUIsidearray.get(0); 编译。
  • 不起作用 = resultSet = GUIsidearray.get(0); -> 将“resulSet”的类型更改为“ArrayList
  • 我想是因为这个ArrayList > GUIsidearray GUIsidearray是一个ArrayList,而GUIsidearray里面是另一个ArrayList。并且 GUIsidearray.get(0) 将返回 ArrayList 而不是结果集。您能否提供如何将结果集添加到此 ArrayList 中?
  • 您应该发布调用 updateLocal(...) 函数的代码。我相信是你造成了那里的问题(或者至少它有助于我们了解你想要实现的目标)。

标签: java arraylist resultset


【解决方案1】:

注意打印的表示是这样的:

[sun.jdbc.odbc.JdbcOdbcResultSet@1adc30]

不是这个:

sun.jdbc.odbc.JdbcOdbcResultSet@1adc30

这表明您尝试访问的ResultSetinner 列表的第一个元素。所以这应该有效:

ResultSet resultSet = (ResultSet) GUIsidearray.get(0).get(0);

请注意,几乎肯定有更好的方法来获取ResultSet没有完整的示例很难说;你可能让事情变得比他们需要的更复杂。提示:告诉我们GUIsidearray 的来源。

【讨论】:

    【解决方案2】:

    我想你想拥有

    while(resultSet.hasNext())
    

    而不是

    while(resultSet.next())
    

    第一个返回布尔值,你实现的返回结果集的下一个元素。

    【讨论】:

    • 您可能是对的,但这不是 OP 面临的直接问题。该计划还远远不足以解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 2017-10-23
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多