Recuperación de datos de tablas utilizando el método Statement.executeQuery
Para recuperar datos de una tabla utilizando una sentencia SELECT sin marcadores de parámetros, puede utilizar el método Statement.executeQuery.
Acerca de esta tarea
Este método devuelve una tabla de resultados en un objeto ResultSet. Una vez obtenida la tabla de resultados, debe utilizar métodos de ResultSet para desplazarse por la tabla de resultados y obtener los valores individuales de cada columna de cada fila.
Con IBM® Data Server Driver for JDBC and SQLJ, también puede utilizar el método Statement.executeQuery para recuperar un conjunto de resultados de una llamada a un procedimiento almacenado, si dicho procedimiento almacenado devuelve un único conjunto de resultados. Si el procedimiento almacenado devuelve varios conjuntos de resultados, debe utilizar el método Statement.execute.
Este tema describe la modalidad más sencilla de ResultSet, que es un objeto ResultSet de solo lectura en el que el usuario solo puede desplazarse hacia delante, una fila cada vez. El IBM Data Server Driver for JDBC and SQLJ también admite ResultSets actualizables y desplazables.
Procedimiento
Para recuperar filas de una tabla utilizando una sentencia SELECT sin marcadores de parámetros, siga estos pasos:
- Invoque el método Connection.createStatement para crear un objeto Statement .
- Invoque el método Statement.executeQuery para obtener la tabla de resultados de la instrucción SELECT en un objeto ResultSet .
- En un bucle, coloque el cursor utilizando el método next y recupere datos de cada columna de la fila actual del objeto ResultSet utilizando métodos getXXX .
XXX
representa un tipo de datos. - Invoque el método ResultSet.close para cerrar el objeto ResultSet .
- Invoque el método Statement.close para cerrar el objeto Statement cuando haya terminado de utilizarlo.
Ejemplo
String empNo;
Connection con;
Statement stmt;
ResultSet rs;
…
stmt = con.createStatement(); // Create a Statement object 1
rs = stmt.executeQuery("SELECT EMPNO FROM EMPLOYEE"); 2
// Get the result table from the query
while (rs.next()) { // Position the cursor 3
empNo = rs.getString(1); // Retrieve only the first column value
System.out.println("Employee number = " + empNo);
// Print the column value
}
rs.close(); // Close the ResultSet 4
stmt.close(); // Close the Statement 5