RESULTSET

7

Transcript of RESULTSET

Page 1: RESULTSET

.

.

Page 2: RESULTSET

.

.

La Clase ResultSetLa interfaz ResultSet proporciona métodos getter (getBoolean, getLong, etc.) para recuperar valores de columna de la fila actual. Los valores se pueden recuperar utilizando el número de índice de la columna o el nombre de la columna. En general, utilizar el índice de columna será más eficiente. Las columnas se numeran desde 1. Para una portabilidad máxima, las columnas de conjunto de resultados dentro de cada fila se deben leer en orden de izquierda a derecha y cada columna debe leerse una sola vez.Para los métodos getter, un controlador JDBC intenta convertir los datos subyacentes al tipo Java especificado en el método getter y devuelve un valor Java adecuado. La especificación JDBC tiene una tabla que muestra las asignaciones permitidas de tipos SQL a tipos Java que pueden ser utilizados por los métodos getter de ResultSet.

Page 3: RESULTSET

.

.

El siguiente fragmento de código es un ejemplo de la ejecución de una sentencia SQL que devolverá una colección de filas, con la columna 1 como un int, la columna 2 como una String y la columna 3 como un array de bytes:java.sql.Statement stmt = conn.createStatement();ResultSet r = stmt.executeQuery("SELECT a, b, c FROM Table1");while (r.next()) {// print the values for the current row.int i = r.getInt("a");String s = r.getString("b");float f = r.getFloat("c");System.out.println("ROW = " + i + " " + s + " " + f);}

Page 4: RESULTSET

.

.

Filas y CursoresUn 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.

En SQL, el cursor resultado para una tabla tiene nombre. Si una base de datos permite upadtes posicionados o deletes posicionados, el nombre del cursor es necesario y debe ser proporcionado como un parámetro del comando update o delete. El nombre del cursor puede obtenerse mediante una llamada al método getCursorName.

Page 5: RESULTSET

.

.

ColumnasLos 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, pero para asegurar la máxima portabilidad, deberían extraerse las columnas de izquierda a derecha y leer los valores de las columnas una única vez.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);

Page 6: RESULTSET

.

.

PROPIEDADES DEL RESULTSETEn la lista siguiente se resumen las propiedades más importantes del objeto ResultSet: MaxMultiLineTextLength MaxResultSetRows

METODOS DEL RESULTSET Siguiente fila: next() Cierre del ResultSet: close() Resultados nulos: wasNull() Obtención de valores: getXXX() Indices de las columnas: findColumn()

Page 7: RESULTSET

.

.