lunes, 23 de octubre de 2017

ResultSet



UPA

ESCUELA PROFESIONAL DE:

INGENIERÍA DE SISTEMAS Y TELEMÁTICA

TEMA:         RESULTSET

DOCENTE: MARCO AURELIO PORRO CHULLI.

ASIGNATURA: LABORATORIO DE PROGRAMACION II-JAVA

INTEGRANTES:
·         Jose Norbil Gonzales Rafael
·         Percy Zelada Rojas

CICLO: V

GRUPO: “c”

AÑO: 2017



1. Contenido
 Definición


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 fila. El método ResultSet.next se usa para moverse a la siguiente fila del result set, convirtiendo a ésta en la fila actual.

El formato general de un result set es una tabla con cabeceras de columna y los valores correspondientes devueltos por la ‘Query’.
El objeto Statement (sentencia) sirve para procesar una sentencia SQL estática y obtener los resultados producidos por ella. Solo puede haber un ResultSet abierto para cada objeto Statement en un momento dado. Todos los métodos statement que procesan una sentencia SQL cierran implícitamente el ResultSet actual de una sentencia si existe uno abierto.

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. Algunos ejemplos de estos métodos son getInt, getLong, getString, getTimestamp y getBlob. Casi todos estos métodos toman un solo parámetro, que es el índice que la columna tiene dentro del ResultSet o bien el nombre de la columna.

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. Algunos de los métodos get<Tipo> tienen parámetros adicionales, como el objeto opcional Calendar, que se puede pasar a los métodos getTime, getDate y getTimestamp. Consulte el Javadoc del paquete java.sql para obtener todos los detalles.

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. Si una aplicación debe distinguir entre null, y 0 o false, puede utilizarse el método wasNull inmediatamente después de la llamada. A continuación, este método puede determinar si el valor era un valor 0 o false real o si ese valor se ha devuelto debido a que el valor de ResultSet era de hecho null.


 Propiedades


Método
Descripción
previous()


next()


first()


last()

Envía el puntero a la fila anterior del objeto ResultSet. (Devuelve true si encuentra la fila anterior).

Envía el puntero a la fila siguiente del objeto ResultSet. (Devuelve true si encuentra la fila siguiente).

Envía el puntero a la primera fila del objeto ResultSet. (Devuelve true si se encuentra primera fila).

Envía el puntero a la última fila del objeto ResultSet. (Devuelve
true si se encuentra última fila).

isFirst()
Devuelve verdadero, si el puntero se encuentra en la primera fila.
getString()

getInt()

getDate()

getBoolean()

getDouble()

getLong()

Captura un dato de tipo String del esquema de datos.

Captura un dato de tipo int del esquema de datos.

Captura un dato de tipo Date del esquema de datos.

Captura un dato de tipo boolean del esquema de datos.

Captura un dato de tipo double del esquema de datos.

Captura un dato de tipo long del esquema de datos.



















 Ejemplos

      Aquí podemos visualizar un ejemplo:
ResultSetExample.java
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).
**/
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 {
            // Asegurarse de limpiar siempre.  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");
                }
            }
        }
    }
}


2. Resumen

El ResultSet es una estructura similar a la tabla de datos con la diferencia que nos es física, sino de tipo virtual, se creará en la memoria del Servidor y desde allí se tomarán los datos para mostrarlos posteriormente en el cliente.

Puede utilizar un objeto ResultSet para ejecutar una consulta y examinar los resultados de la consulta.Cuando crea consultas por medio del objeto QueryDef, debe crear un objeto ResultSet correspondiente para ejecutar la consulta y obtener los resultados. Cada objeto ResultSet se personaliza para la consulta que se ejecuta. El objeto ResultSet contiene estructuras de datos que organizan los datos de la consulta en filas y columnas, donde cada fila representa un único registro de datos y cada columna representa un campo del registro de datos. Después de ejecutar la consulta, puede navegar (moverse) fila a fila y columna a columna, para obtener los datos que desea.

3. Summary


The ResultSet is a structure similar to the data table with the difference that it is physical, but virtual type, it will be created in the memory of the Server and from there will be taken the data to be displayed later on the client.

You can use a ResultSet object to run a query and examine the results of the query. When you create queries through the QueryDef object, you must create a corresponding ResultSet object to run the query and get the results. Each ResultSet object is customized for the query that is run. The ResultSet object contains data structures that organize the query data into rows and columns, where each row represents a single data record and each column represents a field of the data record. After running the query, you can navigate (move) row by row and column by column, to get the data you want. 

4. Recomendaciones


  Para que el ResulSet, no se congestione o entienda mas rápido, en las consultas deberíamos utilizar los campos específicos en vez del *.

v  Se recomienda usar esta clase para poder obtener los datos de una tabla mediante métodos ofrecidos por el resultset que luego los obtendrás en un formulario.

v  Se recomienda declarar un objeto de la clase resultset para poder obtener las consultas que le hayamos dicho que nos muestre.

v  Si abrimos el objeto ResultSet tenemos que cerrar inmediatamente el ResultSet, liberando  los recursos utilizados: public abstract void close() throws SQLException.

5. Conclusiones

La variable Resultset fue declarada fuera de todos los métodos, es decir son globales y pueden verse en toda la clase no importa en qué proceso lo utilizemos, es sencillo recordemos algo de teoria, toda funcion retorna un valor en que se utiliza respectivamente para procesar Resultados.

6. Apreciación del Equipo


Nuestra apreciación con respecto al trabajo realizado del ResultSet lo definimos como un objeto que es usado para obtener Resultados generados al ejecutar consultas que resulta muy indispensable, ya que este objeto es como un deposito en donde nosotros le enviamos las consultas desde un formulario para que después en la BD se ejecute, pero los datos obtenidos están depositados en el objeto ResultSet para después llamarla a una tabla, lista, combobox, etc.

7. Glosario de Términos


¬  GET: Transcript of METODO GET Y SET EN JAVA. La encapsulación compartimenta liza los componentes de un objeto, ocultando la implementación (trabajo interno) del objeto que no hace falta ser visible externamente, y la protege los datos internos de modificaciones sin permiso.

¬  ResultSet.net(): Método que mueve el cursor una fila dentro del ResultSet. Inicialmente el cursor se sitúa antes de la primera fila. Cuando el cursor se posiciona después de la última fila el método devuelve false.

¬  ResultSet.getMetaData(): Método que obtiene el número, tipo y propiedades de las columnas de un ResultSet.

¬  DataBaseMetaData: Para ver qué catálogos, esquemas, tablas, tipos de tablas, columnas de las tablas y demás de una base de datos, tenemos la clase DataBaseMetaData. Una vez establecida la conexión, podemos obtener la instancia correspondiente de dicha clase con el método getDataBaseMetaData ().

¬  Interfaz: Una interfaz en Java es una colección de métodos abstractos y propiedades. En las interfaces se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de los métodos.

¬  Javadoc: Es una utilidad de Oracle para la generación de documentación de APIs en formato HTML a partir de código fuente Java. Javadoc es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan automáticamente.

¬  Query: SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.

¬  Iterando: Significa el acto de repetir un proceso con la intención de alcanzar una meta deseada, objetivo o resultado.

¬  Null: En programación, null resulta ser un valor especial aplicado a un puntero (o referencia) usado para indicar que no se apunta a un objeto o dato válidos.

¬  Controladores: Emplean servicios o aplicaciones cliente para conectarse y consulta de datos.

¬  JDBC: Es una interfaz de programación de aplicaciones (API) para el lenguaje de programación Java, que define como un cliente puede acceder a una base de datos.

8. Bibliografía o Linkografia




PARA MAS AYUDA AQUÍ LES DEJO EL LINK DE LAS DIAPOSITIVAS PUBLICADA EN SLIDESHARE:

https://es.slideshare.net/secret/aDxAf4JYh5IT3z


1 comentario:

  1. Ilustrar su trabajo. Se tiene que definir 3 CONCLUSIONES y RECOMENDACIONES. Gracias por su investigación.

    ResponderEliminar

Android Estudio

"Año  del Diálogo y la Reconciliación Nacional" Integrantes Percy Zelada Rojas J oe Norbil Gonzales Rafael C...