2. 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).
3. 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.
P
R
O
P
I
E
D
A
D
E
S
4. EJEMPLOS
Ejemplo 2
package ConexionMysql;
import java.sql.*;
public class Conexion {
public Conexion() {
}
public static void main(String[] args) {
Statement stmt=null; // Declara el Objeto Statement
Connection cn=null; // Declara el Objeto Connection
ResultSet rs=null; // Declara el Objeto ResultSet
String 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 CA
83472 Redmond WA
83492 Boston MA
5. try {
Class.forName(driver).newInstance();
cn=DriverManager.getConnection(urljdbc,usuario,pas
sword);
stmt=cn.createStatement(); // Se crea el comando
rs=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());
} }}
6. 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).
7. 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 cada
columna. 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.
8. Nota:
La primera columna del ResultSet corresponde al número 1
Podemos 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:
getByte
getShort
getInt
getLong
getFloat
getDouble
getBigDecimal
getBoolean
getString
getBytes
getDate
getTime