05/08/2008, 16:31
|
| | Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 9 meses Puntos: 0 | |
Respuesta: Diferencias entre prepareStatement y statement Se suele utilizar para lo siguiente
La interfaz PreparedStatement amplía Statement, añadiendo la capacidad de establecer valores para los marcadores de parámetro contenidos dentro de la sentencia.
Los objetos PreparedStatement representan sentencias SQL que se pueden preparar, o precompilar, una sola vez para la ejecución y luego se pueden ejecutar múltiples veces. Los marcadores de parámetro, representados mediante el signo "?" en la serie SQL, permiten especificar en la sentencia valores de entrada que pueden variar en el momento de la ejecución.
Se utiliza el método prepareStatement() de Connection para crear nuevos objetos PreparedStatement. A diferencia de lo que sucedía con los objetos Statement, la sentencia SQL se suministra en el momento de crear el objeto PreparedStatement. En ese momento, se precompila la sentencia SQL.
Para poder ejecutar un objeto PreparedStatement, primero hay que establecer un valor en cada uno de los marcadores de parámetro. El objeto PreparedStatement proporciona varios métodos para establecer parámetros. Todos ellos tienen el formato set<Tipo>, siendo <Tipo> un tipo de datos Java. Ejemplos de estos métodos son setInt, setLong, setString, setTimestamp y setBlob.
Te dejo un ejemplo:
PreparedStatement ps = null;
String[] myArray = {"pepe", "pepito", "juan"};
try {
ps = c.prepareStatement("INSERT INTO Tabla (id, nombre) VALUES (?, ?)");
for (int i = 0; i < myArray.length; i++) {
ps.setInt(2, i+1);
ps.setString(1, myArray[i]);
ps.executeUpdate();
}
Saludos. |