2016-04-26 88 views
0

我使用的是Apache derby,在这里得到上面的错误是我的代码,实际上我只是没有得到所有的父母下的孩子,它只给我一个级别的孩子,所以请告诉我如何使树父母和孩子,但在最后的读数RS1ResultSet未打开。操作'getString'不允许。验证自动提交是否关闭。

Statement stmt; 


     stmt = MainUI.getConnection().createStatement(); 
+0

接受,因为部分你说一个连接打开1条语句我试图接取与其他发言 –

回答

2

嵌套结果集此只给出一个与上述错误

越来越连接

public static Connection getConnection(){ 

    Connection connection = null; 

    try { 
     Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();// 
     //Get a connection 
     connection = DriverManager.getConnection(dbURL); 
     connection.setAutoCommit(false); 
     connection.getAutoCommit(); 
    } catch (Exception except) { 
     System.out.println(except); 
    } 
    return connection; 
} 

和错误在第二循环的孩子的水平是你的问题,我贝利前夕。

要打开两个不同的结果集,您必须有两个单独的Statement实例,因此每个实例都可以有其自己的ResultSet。否则,在同一个Statement实例上运行第二个查询将关闭第一个ResultSet

看到这个答案的详细信息:https://stackoverflow.com/a/8579669/193453

此外,看一看的Javadoc,java.sql.Statement类:

默认情况下,每个Statement对象只有一个ResultSet对象可以是在开放同时。因此,如果一个ResultSet对象的读数与另一个对象的读数交错,则每个对象必须由不同的Statement对象生成 。如果存在打开的对象,那么 Statement接口中的所有执行方法都将隐式关闭一个语句的当前ResultSet 对象。

+0

接受,因为部分你说一个连接打开1条语句我试图接取答案相同的连接答案与其他语句的连接相同 –

相关问题