ResultSet
represents a table of data, that represents the result of executing a
query. A default ResultSet object is not updatable, means it
represents a cursor which moves forward only (Reading row by row).
It
is possible to use ResultSet object as updatable/scrollable.
Statement
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet
rs = stmt.executeQuery("SELECT id, name FROM employee");
In
the above statement, rs is updatable also. Will see about this in
subsequent posts.
A
ResultSet object is automatically closed when the Statement object
that generated it is closed, re-executed, or used to retrieve the
next result from a sequence of multiple results.
/* Step 1: Import sql package */ import java.sql.*; public class SampleApp { /* Update username, password and driver details here */ static Connection getConnection() throws ClassNotFoundException, SQLException{ /* Step 2: Load Driver */ System.out.println("Loading/Registering driver"); Class.forName("com.mysql.jdbc.Driver"); /* Step 3: Open connection to database */ System.out.println("Connecting to database"); String url = "jdbc:mysql://localhost/world"; String userName = "root"; String pasword = "tiger"; return DriverManager.getConnection(url, userName, pasword); } public static void main(String args[]) throws SQLException, ClassNotFoundException{ Connection conn = getConnection(); conn.setAutoCommit(false); /* Create table employee */ String query = "CREATE TABLE employee (id int, name varchar(30), PRIMARY KEY(id))"; Statement stmt = conn.createStatement(); stmt.execute(query); /* Insert data to employee table */ query = "INSERT INTO employee values(1, \"Krishna\")"; stmt.execute(query); query = "INSERT INTO employee values(2, \"Arjun\")"; stmt.execute(query); query = "INSERT INTO employee values(3, \"Joel\")"; stmt.execute(query); System.out.println("Calling roll back operation"); query = "SELECT * FROM employee"; ResultSet rs = stmt.executeQuery(query); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println(id +" " + name); } System.out.println("Dropping table employee"); query = "DROP TABLE employee"; stmt.execute(query); rs.close(); stmt.close(); conn.close(); } }
Output
Loading/Registering driver Connecting to database Calling roll back operation 1 Krishna 2 Arjun 3 Joel Dropping table employee
No comments:
Post a Comment