Recuperación de datos de tablas utilizando el método PreparedStatement.executeQuery
Para obtener datos de una tabla utilizando una sentencia SELECT con marcadores de parámetros, utilice el método PreparedStatement.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 el IBM® Data Server Driver for JDBC and SQLJ, también puede utilizar el método PreparedStatement.executeQuery para recuperar un conjunto de resultados de una llamada de procedimiento almacenado, si dicho procedimiento almacenado devuelve solo un conjunto de resultados y solo tiene parámetros de entrada. Si el procedimiento almacenado devuelve varios conjuntos de resultados, debe utilizar el método PreparedStatement.execute.
Puede también utilizar el método PreparedStatement.executeQuery para sentencias que no tienen marcadores de parámetros. Cuando ejecuta una consulta muchas veces, puede obtener un mejor rendimiento creando la sentencia de SQL en forma de objeto PreparedStatement.
Procedimiento
Para obtener filas de una tabla utilizando una sentencia SELECT con marcadores de parámetros, siga estos pasos:
Ejemplo
String empnum, phonenum;
Connection con;
PreparedStatement pstmt;
ResultSet rs;
…
pstmt = con.prepareStatement(
"SELECT EMPNO, PHONENO FROM EMPLOYEE WHERE EMPNO=?");
// Create a PreparedStatement object 1
pstmt.setString(1,"000010"); // Assign value to input parameter 2
rs = pstmt.executeQuery(); // Get the result table from the query 3
while (rs.next()) { // Position the cursor 4
empnum = rs.getString(1); // Retrieve the first column value
phonenum = rs.getString(2); // Retrieve the first column value
System.out.println("Employee number = " + empnum +
"Phone number = " + phonenum);
// Print the column values
}
rs.close(); // Close the ResultSet 5
pstmt.close(); // Close the PreparedStatement 6