Saltar la navegación

4.- Ejecución de consultas sobre la base de datos.

Caso práctico

Foto de Ada mirando al frente.
Ministerio de Educación y FP (CC BY-NC)

Ada está echando una mano a Juan y María en la creación de consultas, para los informes que la aplicación de notaría debe aportar a los usuarios de la misma.

Hacer consultas es una de las facetas de la programación que más entretiene a Ada, le resulta muy ameno y fácil. Además, y dada la importancia del proyecto, cuanto antes avancen en él, mucho mejor.

Por suerte, los tres: Ada, María y Juan tienen experiencia en consultas SQL y saben que, cuando se hace una consulta a una base de datos, hay que afinar y hacerla lo más eficiente posible, pues si se descuidan el sistema gestor puede tardar mucho en devolver los resultados. Además, algunas consultas pueden devolver un conjunto de registros bastante grande, que puede resultar difícil de manejar desde el programa, ya que por norma general tendremos que manejar esos datos registro a registro.

Para operar con una base de datos ejecutando las consultas necesarias, nuestra aplicación deberá hacer las operaciones siguientes:

  • Cargar el conector necesario para comprender el protocolo que usa la base de datos en cuestión.
  • Establecer una conexión con la base de datos.
  • Enviar consultas SQL y procesar el resultado.
  • Liberar los recursos al terminar.
  • Gestionar los errores que se puedan producir.

Podemos utilizar los siguientes tipos de sentencias:

  • Statement: para sentencias sencillas en SQL.
  • PreparedStatement: para consultas preparadas, como por ejemplo las que tienen parámetros.
  • CallableStatement: para ejecutar procedimientos almacenados en la base de datos.

El API JDBC distingue dos tipos de consultas:

  • Consultas: SELECT. Para las sentencias de consulta que obtienen datos de la base de datos, se emplea el método ResultSet executeQuery(String sql). El método de ejecución del comando SQL devuelve un objeto de tipo ResultSet que sirve para contener el resultado del comando SELECT, y que nos permitirá su procesamiento.
  • Actualizaciones: INSERT, UPDATE, DELETE, sentencias DDL. Para estas sentencias se utiliza el método executeUpdate(String sql)

Autoevaluación

Pregunta 1

Para poder enviar consultas a la base de datos hemos tenido que conectarnos a ella previamente.