El ResultSet es
el objeto que representa el resultado de una consulta.
No carga toda la información en memoria, y se pueden usar
para actualizar, borrar e insertar nuevas filas.
Características
Al crear un Statement,
un PreparedStatement o un CallableStatement, se pueden configurar
aspectos del ResultSet que devolverá
al ejecutar la consulta.
createStatement(int resultSetType, int resultSetConcurrency);
prepareStatement(String SQL, int resultSetType, int
resultSetConcurrency);
prepareCall(String sql, int resultSetType, int
resultSetConcurrency);
resultSetType
- ResultSet.TYPE_FORWARD_ONLY. Sólo movimiento hacia delante (por defecto).
- ResultSet.TYPE_SCROLL_INSENSITIVE. Puede hacer cualquier movimiento pero no refleja los cambios en la base de datos.
- ResultSet.TYPE_SCROLL_SENSITIVE. Puede hacer cualquier movimiento y además refleja los cambios en la base de datos.
resultSetConcurrency
- ResultSet.CONCUR_READ_ONLY. Sólo lectura (por defecto).
- ResultSet.CONCUR_UPDATABLE. Actualizable.
Actualización de
datos
rs.updateString("campo",
"valor");
rs.updateInt(1, 3);
rs.updateRow();
Inserción de datos
rs.moveToInsertRow();
rs.updateString(1,
"AINSWORTH");
rs.updateInt(2, 35);
rs.updateBoolean(3, true);
rs.insertRow();
rs.moveToCurrentRow();
La última línea, por cierto, mueve el cursor a la posición
anterior al movimiento de inserción.
Posicionamiento del cursor
El cursor puede estar en una fila concreta, pero también
puede estar en dos filas especiales.
- Antes de la primera fila (Before the First Row, BFR)
- Después de la última fila (After the Last Row, ALR)
Inicialmente el ResultSet
está en BFR, y next() mueve el
cursor hacía delante, devolviendo true
si se encuentra en una fila concreta y false
si alcanza el ALR.
while (rs.next()){
String name =
rs.getString("titulo");
float price =
rs.getFloat("precio");
System.out.println(name + "\t" +
price);
}
Métodos
Los métodos que permiten un movimiento por el ResultSet son:
- next(). Siguiente fila
- previous(). Fila anterior
- beforeFirst(). Antes de la primera
- afterLast(). Después de la última.
- first(). Primera fila
- last(). Última fila
- absolute(). Movimiento a una fila concreta
- relative(). Saltar ciertas filas hacia delante
0 comments:
Publicar un comentario