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", ""); } }