Hacer Actualizaciones en una Hoja de Resultados Actualizable
Otra nueva característica del API JDBC 2.0 es la habilidad de actualizar filas en una hoja de resultados utilizando métodos Java en vez de tener que enviar comandos SQL. Pero antes de poder aprovechar esta capacidad, necesitamos crear un objeto
ResultSet actualizable. Para hacer esto, suministramos la constante
CONCUR_UPDATABLE de
ResulSet al método
createStatement, como se ha visto en ejemplos anteriores. El objeto
Statement creado producirá un objeto
ResultSet actualizable cada vez que se ejecute una petición. El siguiente fragmento de código ilustra la creacción de un objeto
ResultSet actualizable,
uprs. Observa que el código también lo hace desplazable. Un objeto
ResultSet actualizable no tiene porque ser desplazable, pero cuando se hacen cambios en una hoja de resultados, generalmente queremos poder movernos por ella. Con una hoja de resultados desplazable, podemos movernos a las filas que queremos cambiar, y si el tipo es
TYPE_SCROLL_SENSITIVE, podemos obtener el nuevo valor de una fila después de haberlo cambiado.
Connection con = DriverManager.getConnection("jdbc:mySubprotocol:mySubName");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet uprs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");
El objeto
ResultSet,
uprs resultante se podría parecer a esto:
COF_NAME PRICE
------------------ -----
Colombian 7.99
French_Roast 8.99
Espresso 9.99
Colombian_Decaf 8.99
French_Roast_Decaf 9.99
Podemos utilizar los nuevos métodos del JDBC 2.0 en el interface
ResultSet para insertar una nueva fila en
uprs, borrar una fila de
uprs, o modificar un valor de una columna de
uprs.
Ozito