Resultset

10
RESULTS ET

Transcript of Resultset

Page 1: Resultset

RESULTSET

Page 2: Resultset

RESULTSET

Esta interfaz representa un conjunto de datos que son el resultado de una consulta SQL. La clase posee una serie de métodos XXX getXXX(int columna) y XXX getXXX(String columna) que permiten acceder a los resultados de la consulta (para la sintaxis correcta de estos métodos acudir al javadoc de la interfaz ResultSet).

Page 3: Resultset

Método Descripciónprevious()  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. (Devuelvetrue 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.

PROPIEDADES

Page 4: Resultset

EJEMPLOSEjemplo 2package ConexionMysql;import java.sql.*;public class Conexion {public Conexion() {}public static void main(String[] args) {Statement stmt=null; // Declara el Objeto StatementConnection cn=null; // Declara el Objeto ConnectionResultSet rs=null; // Declara el Objeto ResultSetString usuario="root";String password="telesup";String host="localhost";String puerto="3306";String basededatos="Comercial";String driver="com.mysql.jdbc.Driver";String urljdbc = "jdbc:mysql://" + host + ":" + puerto + "/" + basededatos;

Ejemplo 1, si la “query” es:  SELECT a, b, c FROM Table1, el resultado tendrá una forma semejante a:  a b c-------- --------- --------12345 Cupertino CA83472 Redmond WA83492 Boston MA

Page 5: Resultset

try {Class.forName(driver).newInstance();cn=DriverManager.getConnection(urljdbc,usuario,password);stmt=cn.createStatement(); // Se crea el comandors=stmt.executeQuery("select * from Clientes");while(rs.next()) // método avance al siguiente y devuelve true{System.out.print(rs.getString("Codcli")+"\t");System.out.print(rs.getString("Apecli")+"\t");System.out.print(rs.getString("Nomcli")+"\t");System.out.print(rs.getString("Dircli")+"\t");System.out.println("");

}rs.close();cn.close();}catch(Exception e) {System.out.println("Error el proceso acceso a la base de datos");System.out.println(e.getMessage());} }}

Page 6: Resultset

MÉTODO NEXT

El método next mueve al puntero o cursor a la siguiente fila y hace que esa fila (llamada fila actual) sea con la que podamos operar. Como el cursor inicialmente se posiciona justo encima de la primera fila de un objeto ResultSet, primero debemos llamar al método next para mover el cursor a la primera fila y convertirla en al fila actual. Sucesivas invocaciones del método next moverán el cursor de línea en línea hacia adelante. Existen otros métodos con los cuales podemos mover el puntero de la tabla o consultar sobre la posición actual del puntero (En la tabla anterior, aparece la lista de métodos que mueven el puntero de la tabla).

Page 7: Resultset

CONSEGUIR LOS DATOS DEL RESULTSET

Método getXXX(XXX representa al tipo de dato, ejemplo: getDouble(), getString(), getLong(), etc).

Los métodos getXXX del tipo apropiado se utilizan para recuperar el valor de cadacolumna. Por ejemplo:

rs.getString(1); //Recupera el dato de la primera columna de la fila actual.rs.getString(“CODCLI”); //Recupera el dato de la campo “CODCLI” de la fila actual.

Page 8: Resultset

Nota: La primera columna del ResultSet corresponde al número 1Podemos referirnos a un dato del ResultSet mediante su número o nombre de columna.Para conseguir otros tipos de datos contamos con los siguientes métodos:

getBytegetShortgetIntgetLonggetFloatgetDoublegetBigDecimalgetBooleangetStringgetBytesgetDategetTime

Page 9: Resultset

El ResultSet generado tiene la

siguiente estructura:

Page 10: Resultset

GRACIAS