2016-04-26 23 views
0

私はapache derbyを使用していますが、上記のエラーが発生するのは私のコードですが、実際は私は両親の下にすべての子どもを預けていません。子供が、これは結果セットをネストResultSetが開かれていません。操作 'getString'は許可されていません。自動コミットがオフであることを確認します。

Statement stmt; 


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

あなたが言った部分が1つの文を開いていると言いましたので、私は他の文と同じ接続にアクセスしようとしました –

答えて

2

RS1最後の読み取りで

は、第二のループで接続

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; 
} 

とエラーになって上記のエラーと子の唯一のレベルを提供しますが、あなたの問題であり、Iベリイブ。

2つの異なる結果セットを開くには、2つの別々のStatementインスタンスが必要です。したがって、それぞれ独自のResultSetを持つことができます。それ以外の場合は、同じStatementインスタンスで2番目のクエリを実行すると、最初にResultSetが閉じられます。 java.sql.StatementクラスのJavadocを見て、またhttps://stackoverflow.com/a/8579669/193453

は、より多くの情報については、この回答を参照してください。デフォルトでは

、Statementオブジェクトごとに1つだけのResultSetオブジェクトはで開くことができます同時。したがって、1つのResultSet オブジェクトの読み込みが別のResultSetオブジェクトの読み込みとインターリーブされている場合は、それぞれ異なるStatementオブジェクトによって生成された である必要があります。 ステートメントインターフェースのすべての実行メソッドは、開いているものがある場合、ステートメントの現在のResultSet オブジェクトを暗黙的に閉じます。

+0

あなたは、他の声明と同じつながり –

関連する問題