Java Tutorial/Database/ResultSet Concurrency

Материал из Java эксперт
Перейти к: навигация, поиск

Get ResultSet Concurrency

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_INSENSITIVE,
        ResultSet.CONCUR_UPDATABLE);
    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 = conn.createStatement();
    ResultSet rs = st.executeQuery("SELECT * FROM survey");
    int rsConcurrency = rs.getConcurrency();
    if (rsConcurrency == java.sql.ResultSet.CONCUR_READ_ONLY) {
      System.out.println("java.sql.ResultSet.CONCUR_READ_ONLY");
    } else if (rsConcurrency == java.sql.ResultSet.CONCUR_UPDATABLE) {
      System.out.println("java.sql.ResultSet.CONCUR_UPDATABLE");
    } else {
      // it is an error
    }
    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", "");
  }
}



java.sql.ResultSet.CONCUR_READ_ONLY


ResultSet Concurrency

  1. Result sets have one of two concurrency types.
  2. A read-only result set is of type ResultSet.CONCUR_READ_ONLY,
  3. An updatable result set is of type ResultSet.CONCUR_UPDATABLE.

The java.sql.Connection interface has nine methods that set the result set concurrency. The default value (which is CONCUR_READ_ONLY).