El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
Resulset
1.
2. • 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.
RESULTSET
3. 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. Inicialmente se sitúa antes de la primera fila, por lo
que hay que llamar al método next para situarlo en la primera fila
convirtiéndola en la fila actual.
Las filas de ResultSet se recuperan en secuencia desde la fila más alta
a la más baja.
En SQL, el cursor resultado para una tabla tiene nombre. Si una base
de datos permite upadtes posicionados o deletes posicionados, el
nombre del cursor es necesario y debe ser proporcionado como un
parámetro del comando update o delete.
Filas y
Cursores
4. Columnas
Los métodos getXXX suministran los medios para recuperar los valores
de las columnas de la fila actual. 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.
La opción de usar el nombre de columna fue provista para que
el usuario que especifica nombres de columnas en una ‘query’
pueda usar esos nombres como argumentos de los métodos
getXXX.
5. Tipos de ResultSet
TYPE_FORWARD_ONLY
Un cursor que solo puede utilizarse para procesar desde el principio de un ResultSet hasta el final del mismo.
TYPE_SCROLL_INSENSITIVE
Un cursor que se puede emplear para desplazares a través de un ResultSet. Este tipo de cursor es insensible a los
cambios efectuados en la base de datos mientras está abierto.
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.
6. Concurrencia
Los valores de concurrencia
disponibles son los siguientes:
CONCUR_UPDATEABLE
Un ResultSet que permite efectuar
cambios en el mismo. Estos
cambios pueden colocarse en la
base de datos subyacente.
CONCUR_READ_ONLY
Un ResultSet que solo puede utilizarse
para leer datos de la base de datos.
Este es el valor predeterminado.
7. Capacidad de retención
La característica de capacidad de retención determina si la llamada al compromiso en el objeto Connection
cierra el ResultSet.
Los valores de la característica de capacidad de retención se definen mediante constantes de ResultSet y son
los siguientes:
HOLD_CURSOR_OVER_COMMIT
Todos los cursores abiertos permanecen así cuando se llama a la cláusula commit. Este es el valor
predeterminado del controlador JDBC nativo.
CLOSE_CURSORS_ON_COMMIT
Todos los cursores abiertos se cierran cuando se llama a la cláusula commit.
8. ESPECIFICAR
CARACTERÍSTICAS
DE RESULSET
Las características de un ResultSet
no cambian una vez que se ha creado
el objeto ResultSet.
Puede especificar estas características
mediante variantes cargadas a posteriori de
los métodos créate Statement, prepare
Statement y prepare Call.
9. Recuperar
datos de
ResultSet
El objeto ResultSet proporciona varios
métodos para obtener los datos de columna
correspondientes a un fila. Todos ellos tienen
el formato get<Tipo>, siendo <Tipo> un tipo
de datos Java™.
En los métodos get que
devuelven objetos, el valor de
retorno es null cuando la
columna del ResultSet es
nula. En tipos primitivos, no
puede devolverse null. En
estos casos, el valor es 0 o
false.
Las columnas de ResultSet están
numeradas, empezando por el 1. Si
se emplea el nombre de la
columna y hay más de una
columna que tenga ese mismo
nombre en el ResultSet, se
devuelve la primera.
10. SOPORTE DE
RESULTSETMETADATA
Cuando se llama al método getMetaData en un
objeto ResultSet, el método devuelve un objeto
ResultSetMetaData que describe las columnas de
ese objeto ResultSet. En los casos en que la
sentencia SQL que se va a procesar no se conoce
hasta el momento de la ejecución, puede utilizarse
ResultSetMetaData para determinar cuál de los
métodos get hay que emplear para recuperar los
datos
11. Crear
ResultSets
Para crear un objeto
ResultSet, puede
utilizar los métodos
executeQuery u
otros métodos.
Estos métodos
proceden de las
interfaces Statement,
PreparedStatement o
CallableStatement.
También es posible
que una sola
sentencia SQL
devuelva varios
ResultSets para el
proceso.
También puede utilizar el método
getResultSet para recuperar un
objeto ResultSet después de
llamar al método execute
suministrado por las interfaces
Statement, PreparedStatement o
CallableStatement
12. Cerrar ResultSets
Aunque un objeto ResultSet se
cierra automáticamente cuando se
cierra el objeto Statement con el
que está asociado, es aconsejable
cerrar los objetos ResultSet cuando
haya terminado de utilizarlos
También es importante
cerrar los objetos
ResultSet generados
por llamadas a
DatabaseMetaData.
Debido a que el
usuario no tiene
acceso directo al
objeto Statement
utilizado para crear
estos ResultSets
Si estos objetos no se
cierran manualmente, el
sistema sigue en
funcionamiento; sin
embargo, utiliza más
recursos de los
necesarios.
La característica de
capacidad de
retención de
ResultSets puede
cerrar también los
ResultSets
automáticamente en
nombre del usuario.
Se permite llamar a
close varias veces en
un objeto ResultSet.
13. Movimiento
del cursor
Posiciones de cursor desplazables
Absolute
AfterLast
BeforeFirst
First
GetRow
IsAfterLast
IsFirst
IsLast
MoveToCurrentRow
Previous
Relative
MoveToInsertRow
14.
15. public abstract ResultSetMetaData getMetaData() throws SQLException
Obtiene en un objeto ResultSetMetaData información sobre el número de columnas y su
estructura.
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 válido para tipos
específicos de la base de datos.
Indices de las columnas: findColumn()
public abstract int findColumn(String nombreColumna) throws SQLException
Obtiene el índice de una columna conocido su nombre.
16. Propiedades del objeto ResultSet
En la lista siguiente se resumen las propiedades del objeto ResultSet:
Nombre de propiedad
MaxMultiLineTextLength
Establece o devuelve el límite actual de longitud de datos obtenido de un campo de
texto de varias líneas. El límite se aplica a los campos de serie cortos así como
también a los campos de texto de varias líneas.
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.
RecordCount
Devuelve el recuento de registros (número de filas) del conjunto de resultados