No puedo guardar los datos que coloco en un formulario
Para guardar envio el formario con submit, pero no me guarda nada creo que no me crea un id en la tabla, actualizar me funciona pero insertar(GUARDA nuevos datos) no.
Vista
Código java:
Ver original
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page import="java.util.ArrayList,java.util.Iterator,java.util.List"%> <%@page import="modelo.Musica"%> <%!List<Musica> musicas; %> <html> <head> <script type="text/javascript"> function enviarFormulario(idOperacion,idValor){ document.getElementById("operacion").value = idOperacion; document.getElementById("id").value = idValor; document.getElementById('formModelo').submit(); } </script> <jsp:useBean id="musica" class="modelo.Musica" scope="request"/> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Musica</title> </head> <body bgcolor="#DCDCDC"> <form name="formModelo" method="post" action="./Musica"> <input type="text" name="id" id="id" maxlength="20" size="20" value="<jsp:getProperty name="musica" property="id"/>"> <input type="text" name="operacion" id="operacion" value="GUARDAR"> <table> <tr> <th>Tema: </th> <td> <input type="text" name="nombre" value="<jsp:getProperty property="nombre" name="musica"/>"> </td> <th>Duración: </th> <td> <input type="text" name="duracion" value="<jsp:getProperty property="duracion" name="musica"/>"> </td> </tr> </table> <input value="Guardar" type="submit" value="GUARDAR"> </form> <!-- Lista de la base de datos --> <% try{ musicas = (List<Musica>)request.getAttribute("musicas"); if(musicas != null && musicas.size()>0){ int i = 0; while(musicas.size()>i){ Musica mus =(Musica)musicas.get(i); %> <%=mus.getNombre()%> <a href="#" onclick="enviarFormulario('ELIMINAR','<%=mus.getId()%>')"> eliminar </a> | <a href="#" onclick="enviarFormulario('MODIFICAR','<%=mus.getId()%>')"> modificar </a> <br> <% i++; } } e.printStackTrace(); } %> </body> </html>
Controler
Código java:
Ver original
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Musica musica = new Musica(); try{ if(!request.getParameter("id").equals("null")&&!request.getParameter("id").equals(" ")){ } /*Nombre*/ musica.setNombre(request.getParameter("nombre")); /*Id*/ // musica.setId(id); if(operacion.equals("GUARDAR")){ music.guardarMusica(musica); } if(operacion.equals("MODIFICAR")){ request.setAttribute("musica", music.getMusica(id)); } if(operacion.equals("ELIMINAR") && id!=null){ musica.setId(id); music.eliminarMusica(musica); } } doGet(request,response); }
Codigo para guardar datos
Código java:
Ver original
public void guardarMusica(Musica musica) { Connection conn; try{ conn = getData().getConnection(); if (musica.getId()!=null){ ps = conn.prepareStatement(SQL.UPDATE_MUSICA); ps.setString(1, musica.getNombre()); ps.setString(2, musica.getArtista()); ps.setString(3, musica.getAlbum()); ps.setString(4, musica.getGenero()); ps.setInt(5, musica.getDuracion()); ps.setInt(6, musica.getAnio()); ps.setInt(7, musica.getId()); ps.executeUpdate(); }else{ ps = conn.prepareStatement(SQL.INSERT_MUSICA); ps.setString(1, musica.getNombre()); ps.setString(2, musica.getArtista()); ps.setString(3, musica.getAlbum()); ps.setString(4, musica.getGenero()); ps.setInt(5, musica.getDuracion()); ps.setInt(6, musica.getAnio()); ps.executeUpdate(); rs.close(); ps.close(); } ps.close(); conn.close(); } }
Sentencia SQL
Código:
Edito: No me guarda la informacion en la Base de datos. static final String INSERT_MUSICA = "INSERT INTO MUSICA (NOMBRE, ARTISTA, ALBUM, GENERO, DURACION, ANIO) VALUES (?,?,?,?,?,?)"; static final String UPDATE_MUSICA = "UPDATE MUSICA SET NOMBRE=?, ARTISTA=?, ALBUM=?, GENERO=?, DURACION=?, ANIO=? WHERE ID=?";