SlideShare una empresa de Scribd logo
1 de 15
YANINA BUSTAMANTE JIBAJA
YENNY ISABEL CUELLO MORON
Desarrollo de Software I Marco Aurelio Porro Chulli
RESULTSET
RESULTSET
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
Mediante esta interfaz, se
organizan en tablas los
resultados de las órdenes
SQL
El formato general de un result set es una tabla con cabeceras de columna y los valores
correspondientes devueltos por la ‘query’. Por ejemplo, si la ‘query’ es SELECT a, b, c FROM
Table1, el resultado tendrá una forma semejante a:
a b c
-------- --------- --------
12345 Cupertino CA
83472 Redmond WA
83492 Boston MA
El cursor se mueve una
fila hacia abajo cada vez
que se llama al método
next.
Filas y Cursores
Un cursor se mantiene válido hasta
que el objeto Resultset o su objeto
padre Statement se cierra.
Las filas de ResultSet se
recuperan en secuencia desde
la fila más alta a la más baja.
DatabaseMetaData.supportsPositionedDelete
DatabaseMetaData.supportsPositionedUpdate
 Permiten descubrir si estas operaciones
están soportadas en una conexión dada
 Cuando lo están, el driver o la DBMS
deben asegurarse que las filas
seleccionadas están apropiadamente
bloqueadas.
 por tanto que estas operaciones no
provoquen actualizaciones anómalas ni
otros problemas de concurrencia.
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
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.
MÉTODOS
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.
Cierre del ResultSet: close()
public abstract void close() throws SQLException
Cierra inmediatamente el ResultSet, liberando los recursos utilizados.
Resultados nulos: wasNull()
public abstract boolean wasNull() throws SQLException
Se usa después de obtener un null con un método getXXX() para comprobar que corresponde a un valor NULL
SQL.
Obtención de valores: getXXX()
public abstract tipoJava getXXX(int indiceColumna) throws SQLException
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.
Método getXXX() tipo Java
getString String
getBoolean boolean
getByte byte
getShort short
getInt int
getLong long
getFloat float
getDouble double
getBigDecimal* BigDecimal
getBytes byte[]
getDate Date
getTime Time
getTimestamp Timestamp
getAsciiStream** InputStream
getUnicodeStream** InputStream
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.
Borrado de avisos: clearWarnings()
public abstract void clearWarnings() throws SQLException
Borra todos los avisos de la cadena.
Obtención del nombre del cursor: getCursorName()
public abstract String getCursorName() throws SQLException
Obtiene el nombre del cursor asignado a este ResultSet.
Propiedades del ResultSet
getMetaData()
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.
Índices de las columnas: findColumn()
public abstract int findColumn(String nombreColumna) throws SQLException.Obtiene el índice de una columna
conocido su nombre.
EJEMPLOS DE RESULTSET
 Este programa muestra la utilización de ResultSetMetaData y ResultSet para visualizar todos los datos de
una tabla aunque el programa que obtiene los datos no sabe cuál es el aspecto que tendrá la tabla (el usuario
pasa los valores correspondientes a la tabla y a la biblioteca).
import java.sql.*;
/**
ResultSetExample.java
public class ResultSetExample {
public static void main(java.lang.String[] args)
{
if (args.length != 2) {
System.out.println("Uso: java ResultSetExample <biblioteca> <tabla>");
System.out.println(" siendo <biblioteca> la biblioteca que contiene la <tabla>");
System.exit(0);
}
Connection con = null;
Statement s = null;
ResultSet rs = null;
ResultSetMetaData rsmd = null;
try {
// Obtener una conexión a base de datos y preparar una sentencia.
Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
con = DriverManager.getConnection("jdbc:db2:*local");
s = con.createStatement();
rs = s.executeQuery("SELECT * FROM " + args[0] + "." + args[1]);
rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
int rowCount = 0;
while (rs.next()) {
rowCount++;
System.out.println("Datos para la fila " + rowCount);
for (int i = 1; i <= colCount; i++)
System.out.println(" Fila " + i + ": " + rs.getString(i));
}
} catch (Exception e) {
// Manejar los errores.
System.out.println("Tenemos un error... ");
e.printStackTrace();
} finally {
// Hay que asegurarse de que siempre se haga
// el borrado. Si la conexión se cierra, la
// sentencia que hay debajo de ella también se cerrará.
if (con != null) {
try {
con.close();
} catch (SQLException e) {
System.out.println("Error grave: no se puede cerrar el objeto
conexión");
}
}
}
}
}

Más contenido relacionado

La actualidad más candente

Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)José Toro
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)José Toro
 
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)José Toro
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)José Toro
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)José Toro
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)José Toro
 
Comandos mysql
Comandos mysqlComandos mysql
Comandos mysqlpolar
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2Wally IG
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4K Manuel TN
 
Sistemas jerárquicos
Sistemas jerárquicosSistemas jerárquicos
Sistemas jerárquicosOmar Sanchez
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 

La actualidad más candente (19)

Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)
 
Result set
Result setResult set
Result set
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)
 
Grupo alfa 3
Grupo alfa 3Grupo alfa 3
Grupo alfa 3
 
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
 
Tutorial weka
Tutorial wekaTutorial weka
Tutorial weka
 
Sql 2010
Sql 2010Sql 2010
Sql 2010
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Metodos Java
Metodos JavaMetodos Java
Metodos Java
 
Diagramacion
DiagramacionDiagramacion
Diagramacion
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)
 
Comandos mysql
Comandos mysqlComandos mysql
Comandos mysql
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
 
Control JTable con base de datos
Control JTable con base de datosControl JTable con base de datos
Control JTable con base de datos
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4
 
Sistemas jerárquicos
Sistemas jerárquicosSistemas jerárquicos
Sistemas jerárquicos
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 

Destacado (18)

Coruja oracao subord_subst 4
Coruja oracao subord_subst 4Coruja oracao subord_subst 4
Coruja oracao subord_subst 4
 
Broc'scompleted resume1.2
Broc'scompleted resume1.2Broc'scompleted resume1.2
Broc'scompleted resume1.2
 
Nova ortografia1
Nova ortografia1Nova ortografia1
Nova ortografia1
 
DojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding Dojo
 
001 porcentagem
001   porcentagem001   porcentagem
001 porcentagem
 
Conceitos, classes ou universais: com o que é que se constrói uma ontologia?
Conceitos, classes ou universais: com o que é que se constrói uma ontologia?Conceitos, classes ou universais: com o que é que se constrói uma ontologia?
Conceitos, classes ou universais: com o que é que se constrói uma ontologia?
 
Inserir sua foto no Portal E-Proinfo
Inserir sua foto no Portal E-ProinfoInserir sua foto no Portal E-Proinfo
Inserir sua foto no Portal E-Proinfo
 
Introducción
IntroducciónIntroducción
Introducción
 
Tecnología y material didáctico
Tecnología y material didáctico Tecnología y material didáctico
Tecnología y material didáctico
 
¿Por qué seguir explorando?
¿Por qué seguir explorando?¿Por qué seguir explorando?
¿Por qué seguir explorando?
 
Apresentação eletricidade
Apresentação   eletricidadeApresentação   eletricidade
Apresentação eletricidade
 
Almacenamiento
AlmacenamientoAlmacenamiento
Almacenamiento
 
Descripcion
DescripcionDescripcion
Descripcion
 
Aquarelas
AquarelasAquarelas
Aquarelas
 
Entre Ti E Deus
Entre Ti E DeusEntre Ti E Deus
Entre Ti E Deus
 
1.Teorias de la personalidad
1.Teorias de la personalidad1.Teorias de la personalidad
1.Teorias de la personalidad
 
De que sirve el estudio
De que sirve el estudio De que sirve el estudio
De que sirve el estudio
 
Investigacion web
Investigacion webInvestigacion web
Investigacion web
 

Similar a Resultset (20)

Resultset
ResultsetResultset
Resultset
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
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
 
ResultSet
ResultSetResultSet
ResultSet
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
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
 
ResultSet
ResultSetResultSet
ResultSet
 
Resultset
ResultsetResultset
Resultset
 
Presentación1
Presentación1Presentación1
Presentación1
 
Resultset
ResultsetResultset
Resultset
 
Resultset
ResultsetResultset
Resultset
 
Control de JTable
Control de JTableControl de JTable
Control de JTable
 
Resulset en java
Resulset en javaResulset en java
Resulset en java
 
Resulset
ResulsetResulset
Resulset
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Preparestatement
PreparestatementPreparestatement
Preparestatement
 
RESULTSET
RESULTSETRESULTSET
RESULTSET
 
Presentación result set
Presentación result setPresentación result set
Presentación result set
 
Lpiii tema5 - jdbc
Lpiii tema5 - jdbcLpiii tema5 - jdbc
Lpiii tema5 - jdbc
 
Statement
StatementStatement
Statement
 

Más de yenny isabel cuello moron (17)

Oltp exposicion grupal
Oltp exposicion grupalOltp exposicion grupal
Oltp exposicion grupal
 
Seguridad
SeguridadSeguridad
Seguridad
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Sistemas de seguridad
Sistemas de seguridadSistemas de seguridad
Sistemas de seguridad
 
Activadores
ActivadoresActivadores
Activadores
 
Cursores
CursoresCursores
Cursores
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas
VistasVistas
Vistas
 
Ddl
DdlDdl
Ddl
 
Transac sql
Transac sqlTransac sql
Transac sql
 
Preparedstatement(grupal)
Preparedstatement(grupal)Preparedstatement(grupal)
Preparedstatement(grupal)
 
Yanina
YaninaYanina
Yanina
 
Statement
StatementStatement
Statement
 
Connection()
Connection()Connection()
Connection()
 
Trabajo de java con base de datos(yanina y yenny)
Trabajo de java con base de datos(yanina y yenny)Trabajo de java con base de datos(yanina y yenny)
Trabajo de java con base de datos(yanina y yenny)
 
Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
 
Trabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yennyTrabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yenny
 

Resultset

  • 1. YANINA BUSTAMANTE JIBAJA YENNY ISABEL CUELLO MORON Desarrollo de Software I Marco Aurelio Porro Chulli RESULTSET
  • 2. RESULTSET 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 Mediante esta interfaz, se organizan en tablas los resultados de las órdenes SQL
  • 3. El formato general de un result set es una tabla con cabeceras de columna y los valores correspondientes devueltos por la ‘query’. Por ejemplo, si la ‘query’ es SELECT a, b, c FROM Table1, el resultado tendrá una forma semejante a: a b c -------- --------- -------- 12345 Cupertino CA 83472 Redmond WA 83492 Boston MA
  • 4. El cursor se mueve una fila hacia abajo cada vez que se llama al método next. Filas y Cursores Un cursor se mantiene válido hasta que el objeto Resultset o su objeto padre Statement se cierra. Las filas de ResultSet se recuperan en secuencia desde la fila más alta a la más baja.
  • 5. DatabaseMetaData.supportsPositionedDelete DatabaseMetaData.supportsPositionedUpdate  Permiten descubrir si estas operaciones están soportadas en una conexión dada  Cuando lo están, el driver o la DBMS deben asegurarse que las filas seleccionadas están apropiadamente bloqueadas.  por tanto que estas operaciones no provoquen actualizaciones anómalas ni otros problemas de concurrencia.
  • 6. 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 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.
  • 7. MÉTODOS 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. Cierre del ResultSet: close() public abstract void close() throws SQLException Cierra inmediatamente el ResultSet, liberando los recursos utilizados. Resultados nulos: wasNull() public abstract boolean wasNull() throws SQLException Se usa después de obtener un null con un método getXXX() para comprobar que corresponde a un valor NULL SQL.
  • 8. Obtención de valores: getXXX() public abstract tipoJava getXXX(int indiceColumna) throws SQLException 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. Método getXXX() tipo Java getString String getBoolean boolean getByte byte getShort short getInt int getLong long getFloat float getDouble double getBigDecimal* BigDecimal getBytes byte[] getDate Date getTime Time getTimestamp Timestamp getAsciiStream** InputStream getUnicodeStream** InputStream
  • 9. 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. Borrado de avisos: clearWarnings() public abstract void clearWarnings() throws SQLException Borra todos los avisos de la cadena. Obtención del nombre del cursor: getCursorName() public abstract String getCursorName() throws SQLException Obtiene el nombre del cursor asignado a este ResultSet.
  • 10. Propiedades del ResultSet getMetaData() 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.
  • 11. Índices de las columnas: findColumn() public abstract int findColumn(String nombreColumna) throws SQLException.Obtiene el índice de una columna conocido su nombre.
  • 12. EJEMPLOS DE RESULTSET  Este programa muestra la utilización de ResultSetMetaData y ResultSet para visualizar todos los datos de una tabla aunque el programa que obtiene los datos no sabe cuál es el aspecto que tendrá la tabla (el usuario pasa los valores correspondientes a la tabla y a la biblioteca). import java.sql.*; /** ResultSetExample.java public class ResultSetExample { public static void main(java.lang.String[] args) { if (args.length != 2) { System.out.println("Uso: java ResultSetExample <biblioteca> <tabla>"); System.out.println(" siendo <biblioteca> la biblioteca que contiene la <tabla>");
  • 13. System.exit(0); } Connection con = null; Statement s = null; ResultSet rs = null; ResultSetMetaData rsmd = null; try { // Obtener una conexión a base de datos y preparar una sentencia. Class.forName("com.ibm.db2.jdbc.app.DB2Driver"); con = DriverManager.getConnection("jdbc:db2:*local"); s = con.createStatement(); rs = s.executeQuery("SELECT * FROM " + args[0] + "." + args[1]); rsmd = rs.getMetaData();
  • 14. int colCount = rsmd.getColumnCount(); int rowCount = 0; while (rs.next()) { rowCount++; System.out.println("Datos para la fila " + rowCount); for (int i = 1; i <= colCount; i++) System.out.println(" Fila " + i + ": " + rs.getString(i)); } } catch (Exception e) { // Manejar los errores. System.out.println("Tenemos un error... "); e.printStackTrace(); } finally {
  • 15. // Hay que asegurarse de que siempre se haga // el borrado. Si la conexión se cierra, la // sentencia que hay debajo de ella también se cerrará. if (con != null) { try { con.close(); } catch (SQLException e) { System.out.println("Error grave: no se puede cerrar el objeto conexión"); } } } } }