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

public class ResultSetCursor
{
    private Connection connection = null;
    
    public ResultSetCursor()
    {
        testResultUpdate();
    }
    
    public void testResultUpdate()
    {
        try
        {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
            connection = DriverManager.getConnection("jdbc:derby://Atlanta:1527/D:/DerbyDB/testdb"); 
            connection.setAutoCommit(false);
            
            Statement stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE, ResultSet.HOLD_CURSORS_OVER_COMMIT);
          
            String sql = "SELECT transactiontest.idnumber, transactiontest.name FROM transactiontest WHERE transactiontest.idnumber = 1 FOR UPDATE";
            ResultSet rs = stmt.executeQuery(sql);
            
            rs.next();
            
            rs.updateString(2, "UPDATED NAMED9");
            
  //        connection.commit();    
  //        rs.next();
            
            rs.updateRow();
            
            connection.commit();
        }
        catch(SQLException sqle)
        {
            System.out.println(sqle.getErrorCode());
            System.out.println(sqle.getMessage());
            System.out.println(sqle.getSQLState());
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
            e.printStackTrace();
        }  
    }
 
    public static void main(String[] args)
    {
        ResultSetCursor rs = new ResultSetCursor();
    }
    
}
