Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Prepared statement
1. TEMA : PreparedStatement
DOCENTE : Marco Aurelio Porro Chulli.
ASIGNATURA : Desarrollo del Software I.
CICLO : V
AULA : “A”
INTEGRANTES :
Ana Leydi Linares Serrano.
Delsi Yakelin Huamán Villanueva.
BAGUA GRANDE – AMAZONAS
UNIVERSIDAD POLITÉCNICAAMAZÓNICA
2. TEMA: PreparedStatement
DEFINICIÓN
Es una sentencia SQL de base de datos precompilada. Al estar
precompilada, su ejecución será más rápida que una SQL normal, por lo
que es adecuada cuando vamos a ejecutar la misma sentencia SQL (con
distintos valores) muchas veces.
3. MÉTODO ExecuteUpdate()
Ejecuta la instrucción SQL determinada, que puede ser una instrucción
INSERT, UPDATE o DELETE; o una instrucción SQL que no devuelve nada,
como una instrucción DDL de SQL. Desde el controlador JDBC 3.0 de
MicrosoftSQL Server, executeUpdate devolverán el número correcto de
filas
4. MÉTODO ExecuteUpdate()
El executeUpdate() método funciona igual que el execute() método, excepto que
devuelve un valor entero que indica el número de filas afectadas por la instrucción
SQL. El executeUpdate() método combina eficazmente el execute()
y getUpdateCount() métodos en una sola llamada:
int RSLT = 0;
Declaración stmt = null;
tratar {
stmt = conn.createStatement ();
RSLT = stmt.executeUpdate ( "eliminar persona");
. . . }
5. USO DE CallableStatement
Un objeto CallableStatement provee de una forma estándar de llamar a
procedimientos almacenados de la base de datos.
6. La sintaxis para invocar un procedimiento almacenado en JDBC se muestra a continuación:
{call procedure_name[(?, ?, ...)]}
La sintaxis para un procedimiento que devuelve un resultado es:
{? = call procedure_name[(?, ?, ...)]}
La sintaxis para un procedimiento almacenado sin parámetros se parece a algo como:
{call procedure_name}
7. EJEMPLO
El siguiente fragmento de código, donde con es un objeto Connection, crea un objeto
PreparedStatement que contiene una instrucción SQL:
//Creamos un objeto PreparedStatement desde el objeto Connection
PreparedStatement ps = con.prepareStatement(
"select * from Propietarios where DNI=?AND NOMBRE=?AND EDAD=?");
//Seteamos los datos al prepared statement 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();
8. RECOMENDACIONES
Para poder usar una Prepared Statement real desde java, es necesario que tanto la
base de datos como el driver java que usemos soporten las PreparedStatement..
MySQL sí soporta los Prepared Statement y los driver modernos de MySQL para
java también lo soportan. Sin embargo, debemos habilitarlos en el momento de
establecer la conexión.
Por razones de rendimiento, intentad minimizar llamadas innecesarias a
Connection.prepareCall() reusando instancias de CallableStatement.
9. CONCLUSIONES
Connection.prepareCall() es un método costoso, debido a la petición de metadatos que
hace el driver para suportar los parámetros de salida.
Como hemos visto la interfaz CallableStatements nos permite ejecutar procedimientos
almacenados e interactuar con el resultado de una manera rápida y sencilla posicionandose
como una buena opción a la hora de trabajar con procedimientos almacenados. Espero que
les sirva de utilidad.
El método executeUpdate únicamente permite realizar sentencias de actualización de la
BD: creación de tablas (CREATE), inserción (INSERT), actualización (UPDATE) y borrado de
datos (DELETE).