2017-01-31 3 views
-2

error imagejava.sql.SQLExceptionを接続

次java.sql.SQLExceptionを閉じ でoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) でoracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:181) com.mchange.v2.c3p0.implで.NewProxyResu ltSet.next(NewProxyResultSet.java:2859)

コード

if (rs != null) { 
    while (rs.next()) { 
     resultset = Stmt.executeQuery(); 
     if (resultset.next()) { 
      count += resultset.getLong(1); 
      resultset.close(); 
      resultset = null; 
     } 
     Stmt.close(); 
     Stmt = null; 
    } 
} 
+0

なぜ結果セットを閉じた後にnullに設定するのですか?これが正しいと思われるので、コードを投稿してください。あなたの接続も閉じられているようです。あなたは1つを開いたことがありますか? – XtremeBaumer

+0

画像ではなくエラーテキストを貼り付けます。私は神が私を連れて行くリンクをクリックすることを感謝しない。 – duffymo

+0

[Closed Connection:java in next]の重複の可能性があります(http://stackoverflow.com/questions/20497778/closed-connection-next-in-java) – code

答えて

1

エラーjava.sql.SQLException: Closed Connection: nextは、それが使用されている場合resultSetが既に閉じられていることを示しています。ダウンストリームコードで使用されないことが保証されるまで、resultSetを閉じないでください。

コードスニペットを見ると、whileループを使用してStmtインスタンスを閉じて、ループの次の繰り返しで使用するように見えます。あなたの問題のもう一つの理由かもしれません。その場合、ループを使用してStmtインスタンスの新しいインスタンスを作成すると解決されます。

関連する問題