Un objeto Statement se usa para enviar sentencias SQL a la base de datos. Actualmente hay tres tipos de objetos Statement, todos los cuales actúan como contenedores para la ejecución de sentencias en una conexión dada: Statement, PreparedStatement que hereda de Statement y CallableStatement que hereda de PreparedStatement. Estas están especializadas para enviar tipos particulares de sentencias SQL, Un objeto Statement se usa para ejecutar una sentencia SQL simple sin parámetros. Un objeto PreparedStatement se usa para ejecutar sentencias SQL precompiladas con o sin parámetros IN; y un objeto CallableStatement se usa para ejecutar un procedimiento de base de datos almacenado.
2. Preparedstatement Un objeto Statement se usa para enviar sentencias SQL a la base de
datos. Actualmente hay tres tipos de objetos Statement, todos los
cuales actúan como contenedores para la ejecución de sentencias en
una conexión dada: Statement, PreparedStatement que hereda de
Statement y CallableStatement que hereda de PreparedStatement.
La interfaz PreparedStatement hereda de Statement y difiere de esta en
dos maneras:
Las instancias de PreparedStatement contienen una sentencia SQL que ya ha
sido compilada. Esto es lo que hace que se le llame ‘preparada’.
La sentencia SQL contenida en un objeto PreparedStatement pueden tener uno o
más parámetros IN. Un parámetro IN es aquel cuyo valor no se especifica en la
sentencia SQL cuando se crea. En vez de ello la sentencia tiene un interrogante
(‘?’) como un ‘ancla’ para cada parámetro IN. Debes suministrar un valor para
cada interrogante mediante el método apropiado, que puede
ser: setInt, setString, etc., antes de ejecutar la sentencia.
3. MÉTODOEXECUTEUPDATE
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.
VALORDEVUELTO
Un valor int que indica el
número de filas que se ven
afectadas; 0 si se utiliza una
instrucción DDL.
SINTAXIS
public final int executeUpdate (java.lang.String sql) .
4. CALLABLESTATEMENT
CREAR OBJETOS
CALLABLESTATEMENT
PARÁMETROS IN Y OUT PARÁMETROS INOUT
Un objeto CallableStatement provee de una
forma estándar de llamar a procedimientos
almacenados de la base de datos. Un
procedimiento almacenado se encuentra en la
base de datos. La llamada al procedimiento es
lo que contiene el objeto CallableStatement.
Esta llamada se escribe en una sintaxis de
escape que puede tomar una de dos formas: Un
formato con un parámetro resultado y el otro
sin él.
5. CREAR OBJETOS CALLABLESTATEMENT
Los objetos CallableStatement se crean con el método prepareCall de
Connection. El siguiente ejemplo crea una instancia de CallableStatement
que contiene una llamada al procedimiento almacenado getTestData, con
dos argumentos y no devuelve resultados.
CallableStatement cstmt = con.prepareCall(
"{call getTestData(?, ?)}");
PARÁMETROS INOUT
Son parámetros que suministran
entradas, así como aceptan salidas.
Estos requieren llamar a los métodos
apropiados setXXX (heredados de
PreparedStatement) además de llamar al
método registerOutParameter.
PARÁMETROS IN Y OUT
El paso de valor para cualquier
parámetro IN de un objeto
CallableStatement se realiza mediante
los métodos setXXX heredados de
PreparedStatement.
6. Ejemplo:
1.//Creamos un objeto PreparedStatement desde el objeto
Connection:
PreparedStatement ps = con. PreparedStatement(
"select * from Propietarios where DNI=? AND NOMBRE=? AND
EDAD=?");
//Seteamos los datos al PreparedStatement de la siguiente forma:
ps.setString(1, dni);
ps.setString(2, nombre);
ps.setInt(3, edad);
//Ejecutamos el PreparedStatement, en este caso con
executeQuery()
ResultSet rs= ps.executeQuery();