Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2010, 19:08
PanchoJ
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Fe, Capital
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Pregunta No puedo guardar informacion en MySQL

Hola, tengo un incoveniente no puedo guardar datos en la base de datos, nose que parte del codigo puede llegar a estar mal.

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
  1. <&#37;@ page language="java" contentType="text/html; charset=ISO-8859-1"
  2.     pageEncoding="ISO-8859-1"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <%@page import="java.util.ArrayList,java.util.Iterator,java.util.List"%>
  5. <%@page import="modelo.Musica"%>
  6. <%!List<Musica> musicas; %>
  7. <html>
  8. <head>
  9.     <script type="text/javascript">
  10.         function enviarFormulario(idOperacion,idValor){
  11.             document.getElementById("operacion").value = idOperacion;
  12.             document.getElementById("id").value = idValor;
  13.             document.getElementById('formModelo').submit();
  14.         }
  15.     </script>
  16.  
  17.     <jsp:useBean id="musica" class="modelo.Musica" scope="request"/>
  18.     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  19.     <title>Musica</title>
  20. </head>
  21.  
  22. <body bgcolor="#DCDCDC">
  23.     <form name="formModelo" method="post" action="./Musica">
  24.    
  25.         <input type="text" name="id" id="id" maxlength="20" size="20"
  26.                value="<jsp:getProperty name="musica" property="id"/>">
  27.         <input type="text" name="operacion" id="operacion" value="GUARDAR">
  28.    
  29. <table>
  30.     <tr>
  31.     <th>Tema: </th>
  32.     <td>
  33.     <input type="text" name="nombre"
  34.     value="<jsp:getProperty property="nombre" name="musica"/>">
  35.     </td>
  36.     <th>Duraci&oacute;n: </th>
  37.     <td>
  38.     <input type="text" name="duracion"
  39.     value="<jsp:getProperty property="duracion" name="musica"/>">
  40.     </td>
  41.     </tr>
  42. </table>
  43.  
  44.         <input value="Guardar" type="submit" value="GUARDAR">
  45.    
  46.     </form>
  47.  
  48. <!-- Lista de la base de datos -->
  49.  
  50. <%
  51. try{
  52.     musicas = (List<Musica>)request.getAttribute("musicas");
  53.     if(musicas != null && musicas.size()>0){
  54.         int i = 0;
  55.         while(musicas.size()>i){
  56.             Musica mus =(Musica)musicas.get(i);
  57.             %>
  58.             <%=mus.getNombre()%>
  59.             <a href="#" onclick="enviarFormulario('ELIMINAR','<%=mus.getId()%>')"> eliminar </a> &nbsp;&nbsp;|&nbsp;&nbsp;  
  60.             <a href="#" onclick="enviarFormulario('MODIFICAR','<%=mus.getId()%>')"> modificar </a>  
  61.                    
  62.             <br>
  63.         <%
  64.         i++;
  65.         }
  66.     }
  67. }catch(Exception e){
  68.     e.printStackTrace();
  69. }
  70. %>
  71.  
  72. </body>
  73. </html>

Controler

Código java:
Ver original
  1. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  2.         Musica musica = new Musica();
  3.         try{
  4.             String operacion = request.getParameter("operacion");
  5.             Integer id = null;
  6.             if(!request.getParameter("id").equals("null")&&!request.getParameter("id").equals(" ")){
  7.                 id = new Integer(request.getParameter("id"));
  8.             }
  9.            
  10.            
  11.             /*Nombre*/   musica.setNombre(request.getParameter("nombre"));
  12.             /*Duración*/ musica.setDuracion(Integer.parseInt(request.getParameter("duracion")));
  13.             /*Id*/ // musica.setId(id);
  14.             if(operacion.equals("GUARDAR")){
  15.                 music.guardarMusica(musica);
  16.             }
  17.             if(operacion.equals("MODIFICAR")){
  18.                 request.setAttribute("musica", music.getMusica(id));
  19.             }
  20.             if(operacion.equals("ELIMINAR") && id!=null){
  21.                 musica.setId(id);
  22.                 music.eliminarMusica(musica);
  23.             }
  24.            
  25.         }catch(Exception e){
  26.             System.out.println("Ubicacion "+e.getStackTrace());
  27.         }
  28.         doGet(request,response);               
  29.     }

Codigo para guardar datos

Código java:
Ver original
  1. public void guardarMusica(Musica musica) {
  2.         Connection conn;
  3.         try{
  4.             conn = getData().getConnection();
  5.             PreparedStatement ps;
  6.             if (musica.getId()!=null){
  7.                 ps = conn.prepareStatement(SQL.UPDATE_MUSICA);
  8.                 ps.setString(1, musica.getNombre());
  9.                 ps.setString(2, musica.getArtista());
  10.                 ps.setString(3, musica.getAlbum());
  11.                 ps.setString(4, musica.getGenero());
  12.                 ps.setInt(5, musica.getDuracion());
  13.                 ps.setInt(6, musica.getAnio());
  14.                 ps.setInt(7, musica.getId());
  15.                 ps.executeUpdate();
  16.             }else{
  17.                 ps = conn.prepareStatement(SQL.INSERT_MUSICA);
  18.                 ps.setString(1, musica.getNombre());
  19.                 ps.setString(2, musica.getArtista());
  20.                 ps.setString(3, musica.getAlbum());
  21.                 ps.setString(4, musica.getGenero());
  22.                 ps.setInt(5, musica.getDuracion());
  23.                 ps.setInt(6, musica.getAnio());
  24.                 ps.executeUpdate();
  25.                 rs.close();
  26.                 ps.close();
  27.             }
  28.             ps.close();
  29.             conn.close();
  30.         }catch(SQLException e){
  31.             System.out.println(e.getMessage());
  32.         }
  33.  
  34.     }

Sentencia SQL

Código:
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=?";
Edito: No me guarda la informacion en la Base de datos.

Última edición por PanchoJ; 29/01/2010 a las 18:50