Un ResultSet contiene todas las filas que satisfacen las condiciones de una sentencia SQL y proporciona el acceso a los datos de estas filas mediante un conjunto de métodos get que permiten el acceso a las diferentes columnas de la filas.
1. Universidad Politécnica Amazónica
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
DOCENTE:
Marco Aurelio Porro Chulli.
CURSO:
Laboratorio de Programación II.
TEMA:
ResultSet
INTEGRANTES:
Silva Baca Lisbet .
Delgado Fernández Cenica Yadira
Bagua Grande 2017
2.
3. OBJETO RESULTSET:
Es la representación en memoria de las tablas de la
base de datos en disco, se puede entender como una
tabla virtual, recordar que generalmente todos los
procesos que se realizen con la tabla (insertar
registros, eliminar registros, etc) se realizaran
realmente contra un resulset y no provocaran ningun
cambio en la tabla fisica en disco, resulset tiene un
conjunto de metodos muy utiles y muy usados para el
proceso de los renglones de la tabla virtual.
4. Filas y Cursores
Un ResultSet mantiene un cursor que apunta a la fila
actúal de datos. El cursor se mueve una fila hacia
abajo cada vez que se llama al método next.
Incialmente se sitúa antes de la primera fila, por lo
que hay que llamar al método next para situarlo en la
primera fila conviertiendola en la fila actúal.
5. Columnas
Los métodos getXXX suministran los medios para
recuperar los valores de las columnas de la fila actúal.
Dentro de cada fila, los valores de las columnas pueden
recuperarse en cualquier orden, pero para asegurar la
máxima portabilidad, deberían extraerse las columnas de
izquierda a derecha y leer los valores de las columnas
una única vez.
8. MaxResultSetRows
Establece o devuelve el límite inicial sobre el
número de registros que se incluirá en el
conjunto de resultados cuando se ejecuta una
consulta.
10. Siguiente fila: next()
public abstract boolean next() throws
SQLException
Pasa a la siguiente fila, o a la primera cuando se
ejecuta por primera vez. Devuelve true si se
consigue y false si no quedan filas.
11. Cierre del ResultSet: close()
public abstract void close() throws SQLException
Cierra inmediatamente el ResultSet, liberando
los recursos utilizados.
12. Resultados nulos: wasNull()
Obtención de valores: getXXX()
public abstract tipoJava getXXX(String
nombreColumna) throws SQLException
Obtienen el valor contenido en la columna como
un tipoJava, o un null si se trataba de un valor NULL de
SQL.
public abstract boolean wasNull()
throws SQLException
13. Lectura de avisos: getWarnings()
public abstract SQLWarning getWarnings() throws
SQLException
Obtiene el primer aviso de la cadena de avisos SQL
producidos durante el trabajo con este ResultSet o null si
no hay ninguno. La cadena de avisos se renueva con cada
fila.
14. Borrado de avisos: clearWarnings()
public abstract void clearWarnings() throws SQLException
Borra todos los avisos de la cadena.
15. Obtención del nombre del cursor:
getCursorName()
public abstract String getCursorName() throws
SQLException
Obtiene el nombre del cursor asignado a este
ResultSet.
16. Propiedades del ResultSet:
getMetaData()
public abstract ResultSetMetaData
getMetaData() throws SQLException
Obtiene en un objeto ResultSetMetaData información
sobre el númer de columnas y su estructura.
17. Obtención de Objetos:
getObject()
public abstract Object
getObject(int indiceColumna) throws SQLException
public abstract Object
getObject(int nombreColumna) throws
SQLException
Obtiene el valor contenido en la columna como un
objeto Java cuyo tipo sigue la traducción estándar
JDBC de tipos SQL a tipos Java. Este método es
18. Características de ResultSet
El tipo de todos los ResultSets creados es sólo hacia
adelante, la concurrencia de sólo lectura y los
cursores se retienen en los límites del compromiso.
Una excepción a esta última norma la presenta
WebSphere, que actualmente cambia el valor por
omisión de la capacidad de retención de cursores de
forma que los cursores se cierren implícitamente
durante la operación de compromiso. Estas
características pueden configurarse mediante los
métodos accesibles en objetos Statement,
19. Tipos de ResultSet
El tipo de un ResultSet especifica los siguiente
acerca del ResultSet:
Si el ResultSet es desplazable.
· Los tipos de ResultSets JDBC (Java
Database Connectivity) definidos por constantes
en la interfaz ResultSet
20. TYPE_FORWARD_ONLY
Un cursor que sólo puede utilizarse para
procesar desde el principio de un ResultSet
hasta el final del mismo. Este es el tipo por
omisión.
21. TYPE_SCROLL_INSENSITIVE
Un cursor que puede utilizarse para
el desplazamiento en diversas formas a través
de un ResultSet. Este tipo de cursor es
insensible a los cambios efectuados en la base
de datos mientras está abierto. Contiene filas
que satisfacen la consulta cuando ésta se
procesa o cuando se extraen datos.
22. TYPE_SCROLL_SENSITIVE
Un cursor que puede utilizarse para el
desplazamiento en diversas formas a través de
un ResultSet. Este tipo de cursor es sensible a
los cambios efectuados en la base de datos
mientras está abierto. Los cambios en la base
de datos tienen un impacto directo sobre los
datos del ResultSet.
24. CONCUR_UPDATEABLE
Un ResultSet que permite efectuar cambios en el
mismo. Estos cambios pueden colocarse en la
base de datos subyacente. Consulte la
sección Cambiar ResultSets para obtener más
información.
27. Ejemplos :
stmt = con.prepareStatement("SELECT * FROM personas");
rs = stmt.executeQuery();
// Desconocemos el número de columnas y filas que tiene la tabla
// Primero pintamos los nombres de las columnasfor
(int x=1;x<=rs.getMetaData().getColumnCount();x++)
System.out.print(rs.getMetaData().getColumnName(x)+ "t");
System.out.println("");
// Ahora volcamos los datoswhile(rs.next()) { for (int
x=1;x<=rs.getMetaData().getColumnCount();x++)
System.out.print(rs.getString(x)+ "t");
System.out.println("");
}