SlideShare una empresa de Scribd logo
1 de 12
Ingeniería de Sistemas y Telemática
ResulSet
Marco Aurelio Porro Chulli.
Erlin Darwin Herrera Cieza.
Yosmer Aguilar Cabrera.
V
DEFINICION
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
las filas. El método ResultSet.next se usa para moverse a la siguiente fila del
result set,convirtiendo a ésta en la fila actúal.
Sintaxis
java.sql.Statement stmt = conn.createStatement();
ResultSet r = stmt.executeQuery("SELECT nombre de los campos
FROM Table1");
while (r.next())
{int i = r.getInt("a");
String s = r.getString("b");
float f = r.getFloat("c");
System.out.println("ROW = " + i + " " + s + " " + f);}
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. Las filas
de ResultSet se recuperan en secuencia desde la fila
más alta a la más baja. Un cursor se mantiene válido
hasta que el objeto Resultset o su objeto padre
Statement se cierra.
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
puedenrecuperarse en cualquier orden.
Puede usarse o bien el nombre de la columna o el número de columna para
referirse a esta. Por ejemplo: si la columna segunda de un objeto RecordSet rs se
denomina “title” y almacena valores de cadena, cualquiera de los dos ejemplos
siguientes nos devolverá el valor almacenado en la columna.
String s = rs.getString("title");
String s = rs.getString(2);
Nótese que las columnas se numeran de izquierda a derecha comenzando con la
columna 1. Además los nombres usados como input en los métodos getXXX son
insensibles a las mayúsculas.
Tipos de datos y conversiones.
Para los métodos getXXX, el driver JDBC intenta convertir los datos subyacentes a
tipos de datos Java . Por ejemplo, si el método getXXX es getString y los tipos de
datos de la base de datos en la base subyacente es VARCHAR, el driver JDBC
convertirá VARCHAR en String de Java. El valor devuelto por getString será un
objeto Java de tipo String.
Por ejemplo, cualquier método getXXX excepto
getBytes o getBinaryStream puede
usarse para recuperar valores de tipo LONGVARCHAR,
pero se recomienda usar
getAsciiStream o getUnicodeStream, dependiendo de
que tipo de dato se devuelve.
Uso de Streams valores muy grandes de filas
Valores resultado NULL
Para determinar si un valor resultado dado es JDBC NULL, primero debe
intentarse leer la columna y usar el método ResultSet.wasNull para descubrir si el
valor devuelto es JDBC NULL
Un valor null de Java para
aquellos métodos getXXX
que devuelven objetos
Java (tales como getString,
getBigDecimal, getBytes,
getDate,getTime,getTimest
amp,getAsciiStream,
getUnicodeStream,
getBinaryStream,getObjet)
.
Un valor cero para
getByte, getShort,
getInt, getLong,
getFloat y getDouble
Un valor false para
getBoolean.
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.
El ejemplo de código siguiente utiliza ResultSetMetaData para determinar
cada uno de los tipos de columna del conjunto de resultados.
ResultSet rs = stmt.executeQuery(sqlString);
ResultSetMetaData rsmd = rs.getMetaData();
int colType [] = new int[rsmd.getColumnCount()];
for (int idx = 0, int col = 1; idx < colType.length; idx++, col++)
colType[idx] = rsmd.getColumnType(col);
Características de ResultSet
Por defecto, el tipo de todos los
ResultSets creados es solo de reenvío, la
concurrencia es solo de lectura y los
cursores se retienen en los límites del
compromiso. Una excepción de ello la
presenta WebSphere, que actualmente
cambia el valor predeterminado de la
capacidad de retención de cursores para
que los cursores se cierren
implícitamente al comprometerse. Estas
características pueden configurarse
mediante los métodos accesibles en
objetos Statement, PreparedStatement y
CallableStatement.
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. Este es el
tipo por omisión.
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_SENSITIV
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.E
Nota: las propiedades de agrupación por bloques habilitada y de
conexión de tamaño de bloque afectan al grado de sensibilidad de
un cursor TYPE_SCROLL_SENSITIVE. La agrupación por bloques
mejora el rendimiento al almacenar en caché datos de la propia
capa del controlador JDBC.
Concurrencia
La concurrencia determina si el ResultSet puede actualizarse. Los tipos se
definen de nuevo mediante constantes de la interfaz ResultSet.
CONCUR_READ_ONLY
Un ResultSet que solo puede
utilizarse para leer datos de la
base de datos. Este es el valor
predeterminado.
CONCUR_UPDATEABLE
Un ResultSet que permite
efectuar cambios en el mismo.
Estos cambios pueden colocarse
en la base de datos subyacente.
Nota: Según la especificación JDBC, el controlador
JDBC puede cambiar el tipo de ResultSet del valor
de concurrencia de ResultSet si los valores no
pueden utilizarse conjuntamente
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. La API de JDBC
destinada a trabajar con la característica de capacidad de retención es nueva
en la versión 3.0. Sin embargo, el controlador JDBC nativo ha proporcionado
una propiedad de conexión para varios releases que le permite especificar
ese valor predeterminado para todos los ResultSets creados bajo la conexión
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.
Nota: Al llamar a la retrotracción en una conexión, siempre
se cierran todos los cursores abiertos. Este es un hecho
poco conocido, pero es una forma común de que las bases
de datos manejen los cursores.

Más contenido relacionado

La actualidad más candente (20)

ESPACIO DE NOMBRES SYSTEM.DATA.OLEDB
 ESPACIO DE NOMBRES SYSTEM.DATA.OLEDB ESPACIO DE NOMBRES SYSTEM.DATA.OLEDB
ESPACIO DE NOMBRES SYSTEM.DATA.OLEDB
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Programación 3 jk base de datos sql
Programación 3 jk base de datos sqlProgramación 3 jk base de datos sql
Programación 3 jk base de datos sql
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 
Espacio de nombres system.Data.Oledb
Espacio de nombres system.Data.OledbEspacio de nombres system.Data.Oledb
Espacio de nombres system.Data.Oledb
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 
Resultset
ResultsetResultset
Resultset
 
Diapositivas objeto statement
Diapositivas objeto statementDiapositivas objeto statement
Diapositivas objeto statement
 
Sql dataadapter
Sql dataadapterSql dataadapter
Sql dataadapter
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Transac sql
Transac sqlTransac sql
Transac sql
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
 
Preparedstatement
PreparedstatementPreparedstatement
Preparedstatement
 
Bd 2 1 fundamentos transact sql
Bd 2   1 fundamentos transact sqlBd 2   1 fundamentos transact sql
Bd 2 1 fundamentos transact sql
 
Fo 5.desarrollo android-almacenamientodedatos
Fo 5.desarrollo android-almacenamientodedatosFo 5.desarrollo android-almacenamientodedatos
Fo 5.desarrollo android-almacenamientodedatos
 
Almdedat
AlmdedatAlmdedat
Almdedat
 
PreparedStatament
PreparedStatamentPreparedStatament
PreparedStatament
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 

Destacado (19)

Hollister Rec
Hollister RecHollister Rec
Hollister Rec
 
Planificación de clase teóric aejercicio
Planificación de clase teóric aejercicioPlanificación de clase teóric aejercicio
Planificación de clase teóric aejercicio
 
DAYTON corporate presentation
DAYTON corporate presentationDAYTON corporate presentation
DAYTON corporate presentation
 
What has Facebook ever done for Business (Roger Christie - Propel)
What has Facebook ever done for Business (Roger Christie - Propel)What has Facebook ever done for Business (Roger Christie - Propel)
What has Facebook ever done for Business (Roger Christie - Propel)
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
JDBC
JDBCJDBC
JDBC
 
Luis colasante icd school
Luis colasante icd schoolLuis colasante icd school
Luis colasante icd school
 
Seo for your WordPress site doesn’t need to be hard
Seo for your WordPress site doesn’t need to be hardSeo for your WordPress site doesn’t need to be hard
Seo for your WordPress site doesn’t need to be hard
 
Statement
StatementStatement
Statement
 
Copius Group brochure
Copius Group brochureCopius Group brochure
Copius Group brochure
 
M04 27 Tips and Tricks for a Successful Deployment - Miller Final
M04 27 Tips and Tricks for a Successful Deployment - Miller FinalM04 27 Tips and Tricks for a Successful Deployment - Miller Final
M04 27 Tips and Tricks for a Successful Deployment - Miller Final
 
Utrecht/Kenniscongres2016/8/G. Kalfsbeek/Zorginkoop en zorginhoud: gescheiden...
Utrecht/Kenniscongres2016/8/G. Kalfsbeek/Zorginkoop en zorginhoud: gescheiden...Utrecht/Kenniscongres2016/8/G. Kalfsbeek/Zorginkoop en zorginhoud: gescheiden...
Utrecht/Kenniscongres2016/8/G. Kalfsbeek/Zorginkoop en zorginhoud: gescheiden...
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
How to draw a hut or house
How to draw a hut or houseHow to draw a hut or house
How to draw a hut or house
 
S4 tarea4 maarz
S4 tarea4 maarzS4 tarea4 maarz
S4 tarea4 maarz
 
Coneccion
ConeccionConeccion
Coneccion
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Presentación1
Presentación1Presentación1
Presentación1
 
Snehal Thaker
Snehal ThakerSnehal Thaker
Snehal Thaker
 

Similar a Presentación result set (20)

Resulset
Resulset Resulset
Resulset
 
RESULTSET
RESULTSETRESULTSET
RESULTSET
 
Resultset
ResultsetResultset
Resultset
 
Resultset
ResultsetResultset
Resultset
 
Resulset en java
Resulset en javaResulset en java
Resulset en java
 
Diapositivas de-resulset (1)
Diapositivas de-resulset (1)Diapositivas de-resulset (1)
Diapositivas de-resulset (1)
 
Resultset
ResultsetResultset
Resultset
 
ResultSet
ResultSetResultSet
ResultSet
 
ResultSet
ResultSetResultSet
ResultSet
 
Resulset
ResulsetResulset
Resulset
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
ResultSet
ResultSetResultSet
ResultSet
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Result set
Result setResult set
Result set
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Connection
ConnectionConnection
Connection
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
Tema: Result set
Tema: Result setTema: Result set
Tema: Result set
 
System.Data.SqlClient
System.Data.SqlClient System.Data.SqlClient
System.Data.SqlClient
 

Más de Erlin Darwin Herrera cieza (19)

Sistema para un molino Arrocero
Sistema para un molino ArroceroSistema para un molino Arrocero
Sistema para un molino Arrocero
 
Diapositivas olap
Diapositivas olapDiapositivas olap
Diapositivas olap
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
 
Segruridad en sql server
Segruridad en sql serverSegruridad en sql server
Segruridad en sql server
 
4 procedimientos-almacenados
4 procedimientos-almacenados4 procedimientos-almacenados
4 procedimientos-almacenados
 
5 cursores
5 cursores5 cursores
5 cursores
 
Vistas
VistasVistas
Vistas
 
Comandos ddl-trabajo-02-bdii
Comandos ddl-trabajo-02-bdiiComandos ddl-trabajo-02-bdii
Comandos ddl-trabajo-02-bdii
 
Lenguaje transact-sql
Lenguaje transact-sqlLenguaje transact-sql
Lenguaje transact-sql
 
Ejecutables en netbeans
Ejecutables en netbeansEjecutables en netbeans
Ejecutables en netbeans
 
I report
I reportI report
I report
 
Jdbc
JdbcJdbc
Jdbc
 
Objeto sqlcomand
Objeto sqlcomandObjeto sqlcomand
Objeto sqlcomand
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Espacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclientEspacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclient
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de-base-de-batos
Gestor de-base-de-batosGestor de-base-de-batos
Gestor de-base-de-batos
 
Poo
PooPoo
Poo
 
Programacion capas
Programacion capasProgramacion capas
Programacion capas
 

Último

ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismosaultorressep
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolicalf1231
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 

Último (20)

ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismo
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 

Presentación result set

  • 1. Ingeniería de Sistemas y Telemática ResulSet Marco Aurelio Porro Chulli. Erlin Darwin Herrera Cieza. Yosmer Aguilar Cabrera. V
  • 2. DEFINICION 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 las filas. El método ResultSet.next se usa para moverse a la siguiente fila del result set,convirtiendo a ésta en la fila actúal. Sintaxis java.sql.Statement stmt = conn.createStatement(); ResultSet r = stmt.executeQuery("SELECT nombre de los campos FROM Table1"); while (r.next()) {int i = r.getInt("a"); String s = r.getString("b"); float f = r.getFloat("c"); System.out.println("ROW = " + i + " " + s + " " + f);}
  • 3. 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. Las filas de ResultSet se recuperan en secuencia desde la fila más alta a la más baja. Un cursor se mantiene válido hasta que el objeto Resultset o su objeto padre Statement se cierra.
  • 4. 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 puedenrecuperarse en cualquier orden. Puede usarse o bien el nombre de la columna o el número de columna para referirse a esta. Por ejemplo: si la columna segunda de un objeto RecordSet rs se denomina “title” y almacena valores de cadena, cualquiera de los dos ejemplos siguientes nos devolverá el valor almacenado en la columna. String s = rs.getString("title"); String s = rs.getString(2); Nótese que las columnas se numeran de izquierda a derecha comenzando con la columna 1. Además los nombres usados como input en los métodos getXXX son insensibles a las mayúsculas.
  • 5. Tipos de datos y conversiones. Para los métodos getXXX, el driver JDBC intenta convertir los datos subyacentes a tipos de datos Java . Por ejemplo, si el método getXXX es getString y los tipos de datos de la base de datos en la base subyacente es VARCHAR, el driver JDBC convertirá VARCHAR en String de Java. El valor devuelto por getString será un objeto Java de tipo String. Por ejemplo, cualquier método getXXX excepto getBytes o getBinaryStream puede usarse para recuperar valores de tipo LONGVARCHAR, pero se recomienda usar getAsciiStream o getUnicodeStream, dependiendo de que tipo de dato se devuelve.
  • 6. Uso de Streams valores muy grandes de filas
  • 7. Valores resultado NULL Para determinar si un valor resultado dado es JDBC NULL, primero debe intentarse leer la columna y usar el método ResultSet.wasNull para descubrir si el valor devuelto es JDBC NULL Un valor null de Java para aquellos métodos getXXX que devuelven objetos Java (tales como getString, getBigDecimal, getBytes, getDate,getTime,getTimest amp,getAsciiStream, getUnicodeStream, getBinaryStream,getObjet) . Un valor cero para getByte, getShort, getInt, getLong, getFloat y getDouble Un valor false para getBoolean.
  • 8. 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. El ejemplo de código siguiente utiliza ResultSetMetaData para determinar cada uno de los tipos de columna del conjunto de resultados. ResultSet rs = stmt.executeQuery(sqlString); ResultSetMetaData rsmd = rs.getMetaData(); int colType [] = new int[rsmd.getColumnCount()]; for (int idx = 0, int col = 1; idx < colType.length; idx++, col++) colType[idx] = rsmd.getColumnType(col);
  • 9. Características de ResultSet Por defecto, el tipo de todos los ResultSets creados es solo de reenvío, la concurrencia es solo de lectura y los cursores se retienen en los límites del compromiso. Una excepción de ello la presenta WebSphere, que actualmente cambia el valor predeterminado de la capacidad de retención de cursores para que los cursores se cierren implícitamente al comprometerse. Estas características pueden configurarse mediante los métodos accesibles en objetos Statement, PreparedStatement y CallableStatement.
  • 10. 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. Este es el tipo por omisión. 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_SENSITIV 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.E Nota: las propiedades de agrupación por bloques habilitada y de conexión de tamaño de bloque afectan al grado de sensibilidad de un cursor TYPE_SCROLL_SENSITIVE. La agrupación por bloques mejora el rendimiento al almacenar en caché datos de la propia capa del controlador JDBC.
  • 11. Concurrencia La concurrencia determina si el ResultSet puede actualizarse. Los tipos se definen de nuevo mediante constantes de la interfaz ResultSet. CONCUR_READ_ONLY Un ResultSet que solo puede utilizarse para leer datos de la base de datos. Este es el valor predeterminado. CONCUR_UPDATEABLE Un ResultSet que permite efectuar cambios en el mismo. Estos cambios pueden colocarse en la base de datos subyacente. Nota: Según la especificación JDBC, el controlador JDBC puede cambiar el tipo de ResultSet del valor de concurrencia de ResultSet si los valores no pueden utilizarse conjuntamente
  • 12. 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. La API de JDBC destinada a trabajar con la característica de capacidad de retención es nueva en la versión 3.0. Sin embargo, el controlador JDBC nativo ha proporcionado una propiedad de conexión para varios releases que le permite especificar ese valor predeterminado para todos los ResultSets creados bajo la conexión 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. Nota: Al llamar a la retrotracción en una conexión, siempre se cierran todos los cursores abiertos. Este es un hecho poco conocido, pero es una forma común de que las bases de datos manejen los cursores.