Foros del Web » Programación para mayores de 30 ;) » Java »

Diferencias entre prepareStatement y statement

Estas en el tema de Diferencias entre prepareStatement y statement en el foro de Java en Foros del Web. Hola, bueno mi duda es esa, que diferencia hay entre preprarestatement y statement cual conviene usar. si uso statement y los valores a pasar por ...
  #1 (permalink)  
Antiguo 05/08/2008, 12:40
Avatar de magam  
Fecha de Ingreso: julio-2006
Ubicación: Florencio Varela, Buenos Aires, Argentina
Mensajes: 97
Antigüedad: 18 años, 4 meses
Puntos: 1
Diferencias entre prepareStatement y statement

Hola, bueno mi duda es esa, que diferencia hay entre preprarestatement y statement cual conviene usar.
si uso statement y los valores a pasar por parametro no son strings como hago para que se ejecute correctamente ??
muchas gracias
  #2 (permalink)  
Antiguo 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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:20.