どうやってResultSetを自由に前後にジャンプさせるか


  • デフォルトでは、同じ時間にStatementオブジェクトごとに1つのResultSetオブジェクトしか開かない.したがって、1つのResultSetオブジェクトが別のオブジェクトと交差している場合、2つのオブジェクトは、異なるStatementオブジェクトによって生成される必要があります.文が開いている現在のResultSetオブジェクトがある場合、Statementインタフェースのすべての実行方法は暗黙的に閉じられます.
  • ResultSetオブジェクトには、現在のデータ行を指すカーソルがあります.最初は、カーソルが最初の行の前に置かれます.nextメソッドは、カーソルを次の行に移動する.この方法は、ResultSetオブジェクトに次の行がない場合にfalseを返すので、結果セットを反復するためにwhileサイクルで使用することができる.
  • デフォルトのResultSetオブジェクトは更新できません.前方に移動するカーソルは1つしかありません.したがって、反復は1回のみ行われ、最初の行から最後の行までの順序でのみ行われます.スクロール可能および/または更新可能なResultSetオブジェクトを生成することができる.
  • ResultSetを自由に前または後ろにジャンプさせるには、Statementオブジェクトを作成するときに、
  • を使用する必要があります.
  • Connection con = getConnection(URL, USER, PWD);
  • Statement stmt = con.createStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
  • または
  • PreparedStatement stmt = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
  • TYPE_SCROLL_INSENSITIVEこの定数は、スクロール可能であるが、通常はResultSetの下位データの変更の影響を受けないResultSetオブジェクトのタイプを示す.
  • TYPE_SCROLL_SENSITIVEこの定数は、スクロール可能であり、典型的にはResultSetの下位データの変更によって影響されるResultSetオブジェクトのタイプを示す.