PreparedStatement
を使用して、MS SQLデータベースからデータのサブセットを選択しています。 結果セットを反復処理しながら、行を更新する必要があります。現時点では私はこのようなものを使用します。preparedStatement selectの使用中にデータベースを更新する
prepStatement = con.prepareStatement(
selectQuery,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_UPDATABLE);
rs = prepStatement.executeQuery();
while(rs.next){
rs.updateInt("number", 20)
rs.updateRow();
}
データベースが正しい値で更新が、私は次の例外を取得している:
Optimistic concurrency check failed. The row was modified outside of this cursor.
私はそれをGoogleで検索しましたが、されていません問題に関する助けを見つけることができます。
この例外を防止するにはどうすればよいですか?あるいは、私がやりたいことをプログラムが行っているので、無視することはできますか?
使用中のトランザクション分離レベルを教えてください。 – ordnungswidrig
...また、あなたが更新する正確なクエリと正確な列は何ですか? – vladr