Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2008, 08:10
nolomanhxc
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Problema insertando tupla JSP + Servlets + MySQL

Buenas a todos:

Estoy haciendo una aplicacion web utilizando JSP + Servelts que se supone que tiene que insertar una serie de tuplas en una BD en MySQL que tengo en este mismo PC.

El problema ahora mismo es que tengo un .jsp en el que tengo un TEXTAREA en la que se va a insertar un comentario y se llama desde dicho .jsp a un servlet que será el que establecerá la conexion con la BD en el doPost e insertará una tupla en la misma.

Se supone que debe insertar en una tabla de la BD con los campos (id, usuario, comentario), donde id es un numero, usuario es el usuario que hace el comentario y el comentario en sí, pero el problema está en que realmente no inserta nada en la BD, siempre salta la excepcion; en un primer momento la tabla tenia un atributo fecha, pero lo elimine puesto que pense que el problema podria ser debido a dicho atributo y diferencia de formatos entre java y mysql, pero sigue pasando lo mismo.

He probado incluso a poner un System.out.println() despues de cada uno de los parametros (pid,usuario,comentario) para ver si era que no tomaba bien los mismos, pero lo que imprime por pantalla tiene los valores correctos, asi que debe ser algo de la BD (pienso yo).

Paso a poner el código de dicho servlet:

Código:
doPost (request, response)
{
                        HttpSession s = request.getSession(false);
			// Guardar el nombre del cliente en la sesión
			// para poderlo utilizar en el siguiente servlet
			String userName=(String)s.getAttribute("session.user");
			String comentario = (String) request.getParameter("comentario");
			String pid = (String)request.getParameter("pid");
                        Integer elpid = new Integer(pid);
			PreparedStatement stmt = null;
			String sql = "INSERT INTO comentarios (pid,usuario,comentario) VALUES (?,?,?)";
			stmt = con.prepareStatement(sql);
			stmt.setInt(1, elpid);
			stmt.setString(2, userName);
			stmt.setString(3, comentario);
			stmt.executeUpdate();
			stmt.close();
		} catch (Exception e) {
			System.out.println("No inserta ni modifica la tabla");
		}
}

Espero haberme explicado con claridad.
Muchisimas gracias de antemano por vuestra ayuda.
Un saludo.

EDITO: Vale, el problema era que el usuario con el que intentaba comentar no estaba en la BD.
Gracias.

Última edición por nolomanhxc; 12/05/2008 a las 08:54 Razón: Solucionado