Preparestatement

11

Click here to load reader

Transcript of Preparestatement

Page 1: Preparestatement
Page 2: Preparestatement
Page 3: Preparestatement

PREPAREDSTATEMENT

Page 4: Preparestatement

PREPAREDSTATEMENT

Este interfaz, al igual que el interfaz Statement, nos permite ejecutar sentencias SQL sobre una conexión establecida con una base de datos. Pero en este caso vamos a ejecutar sentencias SQL más especializadas, estas sentencias SQL se van a denominar sentencias SQL precompiladas y van a recibir parámetros de entrada.

Page 5: Preparestatement

Los métodos execute(), executeQuery() y executeUpdate() son sobrecargados y en esta versión, esdecir, para los objetos PreparedStatement no toman ningún tipo de argumentos, de esta forma, a estos métodos nunca se les deberá pasar por parámetro el objeto String que representaba la sentencia SQL a ejecutar.

Page 6: Preparestatement

El interfaz PreparedStatement.

A continuación se ofrece la acostumbrada referencia rápida de los métodos del interfaz que nos ocupa.void adBatch(): añade un conjunto de parámetros al conjunto de comandos que se ejecutará en modo batch.void clearParameters(): elimina los valores de los parámetros actuales. boolean execute(): ejecuta cualquier tipo de sentencia SQL. ResultSet executeQuery(): ejecuta la sentencia SQL representada por el objeto PreparedStatement, devolviendo un objeto ResultSet con el resultado de la ejecución de la consulta.

Page 7: Preparestatement

objetos PreparedStatement 

   

Para crear un objeto PreparedStatement se debe lanzar el método prepareStatement() del interfaz Connection sobre el objeto que representa la conexión establecida con la base de datos. En el siguiente ejemplo se puede ver como se crearía un objeto PreparedStatement que representa una sentencia SQL con dos parámetros de entrada.

Page 8: Preparestatement

parámetros de entrada

Antes de poder ejecutar un objeto PreparedStatement se debe asignar un valor para cada uno de sus parámetros. Esto se realiza mediante la llamada a un método setXXX, donde XXX es el tipo apropiado para el parámetro. Por ejemplo, si el parámetro es de tipo long, el método a utilizar será setLong().

Page 9: Preparestatement

Método executeUpdate

Ejecuta la instrucción SQL determinada, que puede ser una instrucción INSERT, UPDATE, MERGE o DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL de SQL.

Page 10: Preparestatement

Uso de callablestatement

El último tipo de sentencias que podemos utilizar en JDBC son las sentencias CallableStatement. Este interfaz hereda del interfaz PreparedStatement y ofrece la posibilidad de manejar parámetros de salida y de realizar llamadas a procedimientos almacenados de la base de datos.

Page 11: Preparestatement

Ejemplos

PreparedStatement pstmt = con.prepareStatement(consulta);String user = . . . ;

String email = . . . ;Date edad = . . . ; //O int edad;

pstmt.setString(1 , user);pstmt.setString(2 , email);

pstmt.setDate(3 , edad); // setInt(3, edad);ps.executeUpdate();