Demonstrates various methods for moving the cursor in a scrollable ResultSet object : ResultSet Scrollable « Database « Java Tutorial






import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Main {
  public static void main(String[] args) throws Exception {
    Connection conn = getConnection();
    Statement st = conn
        .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

    st.executeUpdate("create table survey (id int,name varchar(30));");
    st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')");
    st.executeUpdate("insert into survey (id,name ) values (2,null)");
    st.executeUpdate("insert into survey (id,name ) values (3,'Tom')");
    ResultSet rs = st.executeQuery("SELECT * FROM survey");

    // Move cursor forward
    while (rs.next()) {
      // Get data at cursor
      String id = rs.getString(1);
      String name = rs.getString(2);
    }

    // Move cursor backward
    while (rs.previous()) {
      // Get data at cursor
      String id = rs.getString(1);
      String name = rs.getString(2);
    }

    // Move cursor to the first row
    rs.first();

    // Move cursor to the last row
    rs.last();

    // Move cursor to the end, after the last row
    rs.afterLast();

    // Move cursor to the beginning, before the first row.
    // cursor position is 0.
    rs.beforeFirst();

    // Move cursor to the second row
    rs.absolute(2);

    // Move cursor to the last row
    rs.absolute(-1);

    // Move cursor to the second-to-last row
    rs.absolute(-2);

    // Move cursor down 5 rows from the current row. If this moves
    // cursor beyond the last row, cursor is put after the last row
    rs.relative(5);

    // Move cursor up 3 rows from the current row. If this moves
    // cursor beyond the first row, cursor is put before the first row
    rs.relative(-3);

    rs.close();
    st.close();
    conn.close();

  }

  private static Connection getConnection() throws Exception {
    Class.forName("org.hsqldb.jdbcDriver");
    String url = "jdbc:hsqldb:mem:data/tutorial";

    return DriverManager.getConnection(url, "sa", "");
  }
}








20.10.ResultSet Scrollable
20.10.1.Scrollable ResultSet
20.10.2.Create an insensitive scrollable result set
20.10.3.Move the Cursor in a Scrollable ResultSet
20.10.4.Demonstrates various methods for moving the cursor in a scrollable ResultSet object
20.10.5.Get the Cursor Position in a Scrollable Result Set
20.10.6.Move cursor to the first row
20.10.7.Move cursor to the last row
20.10.8.Move cursor to the end, after the last row
20.10.9.Move cursor backward
20.10.10.Move the cursor back and forth with absolute index
20.10.11.Move cursor to the beginning, before the first row
20.10.12.Move cursor to the second last row with aboslute position
20.10.13.Move cursor down 5 rows from the current row. If this moves cursor beyond the last row, cursor is put after the last row
20.10.14.Move cursor up 3 rows from the current row. If this moves cursor beyond the first row, cursor is put before the first row
20.10.15.Moving the Cursor in a Scrollable Result Set
20.10.16.If database support scrollable result sets
20.10.17.Get the current position of cursor
20.10.18.Check if cursor is in the first row
20.10.19.Get the Number of Rows in a Table Using a Scrollable ResultSet