2016-07-24 6 views
0

JDBC javaクエリーでresultSetが使い果たされ続けています。私は他のメソッドでそれらを持っているので、クエリ自体が動作することがわかりますが、何らかの理由でエラーが発生し始めました。私はこれを修正する方法を探してきましたが、何も助けにはなりません。これは片方向のクエリなので、first()とabsolute()は動作しません。私はどのようにそれが過去(result2.next())を過ぎているのかわからない、結果セットは何も戻っていない(ファイルの最後に)です。任意のアイデアを修正する方法は?結果セットがOracleクエリーを使い果たしました

 command1 = "SELECT * from Foo WHERE (se = " + 
      result1.getInt("rec") + " OR rec = " 
      + result1.getInt("rec") + ")";   
     result2 = stat2.executeQuery(command1);    
     while(result2.next()) 
     {     
      //this line is where the result set error pops up 
      if(result2.getInt("rec") != result1.getInt("rec")) 
      ... 
+0

'result1'も' Statement'によってサポートされていますか? (?) 'stat2'? –

+0

いいえ、別のStatement変数を使用して接続します。以前は同じステートメントを使用していましたが、エラーはまだ発生しています – sjr59

答えて

1

次のコードを使用してください:あなたはその範囲に結果セットから値を取得したら、その結果から同じ値にアクセスしないようにしようと

String rec1 = result1.getInt("rec") 
command1 = "SELECT * from Foo WHERE (se = " + 
      rec1 + " OR rec1 = " 
      + rec1 + ")";   
     result2 = stat2.executeQuery(command1);    
     while(result2.next()) 
     {     
      //this line is where the result set error pops up 
      String rec2 = result2.getInt("rec") 
      if(rec2 != rec1) 

を。最終的に特定の結果がクローズされましたresult1.getInt( "rec")

関連する問題