Mega Code Archive

 
Categories / Java Tutorial / Database
 

Get the Cursor Position in a Scrollable Result Set

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");     // Get cursor position     int pos = rs.getRow();          // 0     System.out.println(pos);     boolean b = rs.isBeforeFirst(); // true     System.out.println(b);     // Move cursor to the first row     rs.next();     // Get cursor position     pos = rs.getRow();              // 1     b = rs.isFirst();               // true     System.out.println(pos);     System.out.println(b);          // Move cursor to the last row     rs.last();     // Get cursor position     pos = rs.getRow();        System.out.println(pos);     b = rs.isLast();     // true     // Move cursor past last row     rs.afterLast();     // Get cursor position     pos = rs.getRow();            b = rs.isAfterLast();    // true     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", "");   } }