我最近有关于使用JDBC的结果集在java中这个问题。
为了便于理解,我将说明两个函数A和B的例子,让我们说,我们创造功能的,我们把它叫做RS1一样,这部RS1将回到我们从一个被借用的组帐套结果图书馆。
因此,与每本书,这是从RS1获取我们调用函数B,将定义另一个结果集RS2确定已经借了书的人(RS2是使用相同的连接实例创建)。
这里的问题是,当我们提取RS1的第一本书和rs1.next后调用B(),所以它不走过去的第一本书,但是当我没有B中定义RS2它完美的作品返回false。这是为什么?
注:RS1和地方使用相同的连接实例创建RS2!
您是否使用相同的Statement
来执行这两个查询? JDBC只允许每个ResultSet
一个开放Statement
,所以如果你使用相同的Statement
为内部查询,然后它会关闭你正在使用的外部查询的一个。你应该能够做到你想要什么,如果你使用一个单独的Statement
为内部查询。