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

DELETE registro my sql

Estas en el tema de DELETE registro my sql en el foro de Java en Foros del Web. hola buen dia.. estoy haciendo una prueba con java..estoy tratando de TRAER, INSERTAR, Y ELIMINAR desde java en una base de datos my sql estoy ...
  #1 (permalink)  
Antiguo 07/09/2013, 17:34
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 11 años, 6 meses
Puntos: 0
DELETE registro my sql

hola buen dia.. estoy haciendo una prueba con java..estoy tratando de TRAER, INSERTAR, Y ELIMINAR desde java en una base de datos my sql
estoy teniendo algunos problemas con el ELIMINAR. les muestro lo q hice para ver si me pueden ayudar:

ESTE SERIA EL METODO EN EL DAO QUE HACE LA CONEXION:
LES MUESTRO SOLO EL METODO ELIMINAR
Código Java:
Ver original
  1. public void eliminarCliente(Connection con, cliente c) throws SQLException{
  2.  
  3.         String sql="delete from cliente(nombre,apellido,dni) where id_Cliente="+c.getId_Cliente();
  4.         Statement st = (Statement) con.createStatement();
  5.         st.execute(sql);
  6.     }

ESTE ES LA CLASE CLIENTE

Código Java:
Ver original
  1. package ar.com.montesjose.clases;
  2.  
  3.  
  4. public class cliente {
  5.     Integer id_Cliente;
  6.     String nombre;
  7.     String apellido;
  8.     String dni;
  9.  
  10.     public cliente(Integer id_Cliente, String nombre, String apellido, String dni) {
  11.         this.id_Cliente = id_Cliente;
  12.         this.nombre = nombre;
  13.         this.apellido = apellido;
  14.         this.dni = dni;
  15.     }
  16.  
  17.     public cliente(String nombre, String apellido, String dni) {
  18.         this.nombre = nombre;
  19.         this.apellido = apellido;
  20.         this.dni = dni;
  21.     }
  22.     public cliente() {  
  23.     }
  24.     public String getApellido() {
  25.         return apellido;
  26.     }
  27.     public void setApellido(String apellido) {
  28.         this.apellido = apellido;
  29.     }
  30.     public String getDni() {
  31.         return dni;
  32.     }
  33.  
  34.     public void setDni(String dni) {
  35.         this.dni = dni;
  36.     }
  37.     public Integer getId_Cliente() {
  38.         return id_Cliente;
  39.     }
  40.     public void setId_Cliente(Integer id_Cliente) {
  41.         this.id_Cliente = id_Cliente;
  42.     }
  43.     public String getNombre() {
  44.         return nombre;
  45.     }
  46.     public void setNombre(String nombre) {
  47.         this.nombre = nombre;
  48.     }
  49. }
AHORA LES MUESTRO MI SERVLET (contactoServlet):
EN EL POST TENGO UNA BIFURCACION IF QUE LO Q HACE ES QUE SI EL FORMULARIO DEL SERVLET ESTA COMPLETO INSERTE Y SINO VALLA A LA FUNCION ELIMINAR
Código Java:
Ver original
  1. package ar.com.montesjose.servlet;
  2.  
  3. import ar.com.montesjose.clases.cliente;
  4. import ar.com.montesjose.connection.Conexion;
  5. import ar.com.montesjose.dao.clienteDao;
  6. import java.io.IOException;
  7. import java.io.PrintWriter;
  8. import java.sql.Connection;
  9. import java.sql.SQLException;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12. import javax.servlet.ServletException;
  13. import javax.servlet.http.HttpServlet;
  14. import javax.servlet.http.HttpServletRequest;
  15. import javax.servlet.http.HttpServletResponse;
  16.  
  17.  
  18. public class contactoServlet extends HttpServlet {
  19.    
  20.     @Override
  21.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  22.     throws ServletException, IOException {
  23.    
  24.         response.setContentType("text/html;charset=UTF-8");
  25.         PrintWriter out = response.getWriter();
  26.  
  27.         out.println("<html>");
  28.         out.println("<head>");
  29.         out.println("<link rel='stylesheet' type='text/css' href='estilo.css' />");
  30.         out.println("<title>Montes Jose</title>");
  31.         out.println("</head>");
  32.  
  33.         out.println("<body>");
  34.  
  35.         //COMIENZA BOTONERA
  36.         out.println("<div id='principal'>");
  37.         out.println("<div id='botonera'>");
  38.             out.println("<ul>");
  39.                 out.println("<li>");
  40.                   out.println("<a href='index.jsp'>");
  41.                     out.println("INICIO");
  42.                   out.println("</a>");
  43.                 out.println("</li>");
  44.  
  45.                 out.println("<li>");
  46.                   out.println("<a href='registros.jsp'>");
  47.                     out.println("REGISTROS");
  48.                   out.println("</a>");
  49.                 out.println("</li>");
  50.  
  51.                 out.println("<li>");
  52.                   out.println("<a href='contactoServlet'>");
  53.                     out.println("INSERTAR");
  54.                   out.println("</a>");
  55.                 out.println("</li>");
  56.  
  57.             out.println("</ul>");
  58.         out.println("</div>");
  59.         //---------------------------------------------
  60.  
  61.         //COMIENZA EL CONTENIDO
  62.         out.println("<div id='contenido'>");
  63.         //COMIENZA EL CONTACTO
  64.         out.println("<div id='contacto'>");
  65.  
  66.         out.println("<p>Complete el siguiente formulacio para poder navegar en nuestra web:</p>");
  67.        
  68.             //COMIENZA EL FORM DE CONTACTO
  69.             out.println("<form method='POST' action='contactoServlet'>");
  70.  
  71.                 out.println("<label>NOMBRE:</label>");
  72.                 out.println("<br>");
  73.                 out.println("<input name='nombre' type='text'>");
  74.                 out.println("<br>");
  75.  
  76.                 out.println("<label>APELLIDO:</label>");
  77.                 out.println("<br>");
  78.                 out.println("<input name='apellido' type='text'>");
  79.                 out.println("<br>");
  80.  
  81.                 out.println("<label>DNI:</label>");
  82.                 out.println("<br>");
  83.                 out.println("<input name='dni' type='text'>");
  84.                 out.println("<br>");
  85.  
  86.                 out.println("<input type='hidden' value='insertarCliente' name='accion'>");
  87.                 out.println("<input type='submit' name='Enviar'>");
  88.  
  89.             out.println("</form>");
  90.             //TERMINA EL FORM--------------------
  91.         out.println("</div>");
  92.         //TERMINA CONTACTO
  93.  
  94.         out.println("</div>");
  95.         //TERMINA EL DIV CONTENIDO----------------
  96.  
  97.         //COMIENZA EL PIE
  98.         out.println("<div id='pie'>");
  99.         out.println("<p>Alumno: Montes Jose</p>");
  100.         out.println("</div>");
  101.         //TERMINA EL PIE-------
  102.  
  103.         out.println("</div>");
  104.         //TERMINA EL DIV PRINCIPAL----------------
  105.  
  106.         out.println("</body>");
  107.  
  108.         out.println("</html>");
  109.    
  110.     }
  111.     @Override
  112.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  113.     throws ServletException, IOException {
  114.  
  115.         response.setContentType("text/html;charset=UTF-8");
  116.         PrintWriter out = response.getWriter();
  117.  
  118.         String formParameter = request.getParameter("accion");
  119.         //creo el cliente dao para hacer el insert en la base
  120.        
  121.  
  122.         if(formParameter!=null){
  123.             clienteDao dao=new clienteDao();
  124.             Connection con=null;
  125.  
  126.             try {
  127.                 con = Conexion.getConnection();
  128.             } catch (Exception ex) {
  129.  
  130.             }
  131.  
  132.             //instancio un cliente
  133.             cliente c=new cliente();
  134.             //set de nombre apellido y dni con los parametros que tomo del formulario de contacto
  135.             c.setNombre(request.getParameter("nombre"));
  136.             c.setApellido(request.getParameter("apellido"));
  137.             c.setDni(request.getParameter("dni"));
  138.  
  139.             if(formParameter.equals("insertarCliente")){
  140.                 try {
  141.                     dao.insertarCliente(con, c);
  142.                 } catch (SQLException ex) {
  143.                     ex.printStackTrace();
  144.                 }
  145.                 if(c==null){
  146.                     out.println("Error al guardar los datos en la base");
  147.                     response.sendRedirect("errorContacto.jsp");
  148.                 }else{
  149.                     out.println("Los datos han sido guardados con exito");
  150.                     response.sendRedirect("exitoContacto.jsp");
  151.                 }
  152.  
  153.             }
  154.  
  155.             if(formParameter.equals("eliminarCliente")){
  156.                 try {
  157.                     dao.eliminarCliente(con, c);
  158.                 } catch (SQLException ex) {
  159.                     ex.printStackTrace();
  160.                 }
  161.             }
  162.         }
  163.  
  164.     }
  165.  
  166.     @Override
  167.     public String getServletInfo() {
  168.         return "Short description";
  169.     }// </editor-fold>
  170.  
  171. }

Y LES MUESTRO LA JSP EN UNA RESPUESTA MAS ABAJO PORQUE NO ENTRA ACA...
  #2 (permalink)  
Antiguo 07/09/2013, 17:35
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: DELETE registro my sql

Y ACA UNA JPS DONDE TRAIGO DE LA BASE DE DATOS TODOS LOS CLIENTES:
ACA EN LA JSP HAGO UN FOR QUE VA LLENANDO UNA TABLA CON LOS DATOS DE LA BASE Y A CADA CLIENTE QUE CREA LE CREA UN BOTON ELIMINAR QUE DEBERIA LLAMAR AL METODO ELIMINAR EN EL DAO
Código Java:
Ver original
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  3.    "http://www.w3.org/TR/html4/loose.dtd">
  4.  
  5. <html>
  6.     <head>
  7.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8.         <link rel="stylesheet" type="text/css" href="estilo.css" />
  9.         <%@page import="ar.com.montesjose.dao.clienteDao"%>
  10.         <%@page import="ar.com.montesjose.clases.cliente"%>
  11.         <%@page import="java.util.ArrayList"%>
  12.         <title>Montes Jose</title>
  13.     </head>
  14.     <body>
  15.         <div id="principal">
  16.         <div id="botonera">
  17.             <ul>
  18.                 <li><a href="index.jsp">INICIO</a></li>
  19.                 <li><a href="registros.jsp">REGISTROS</a></li>
  20.                 <li><a href="contactoServlet">INSERTAR</a></li>
  21.             </ul>
  22.         </div>
  23.  
  24.         <div id="contenido">
  25.             <table width="100%" border="1">
  26.                 <tr>
  27.                     <td><b>NOMBRE</b></td>
  28.                     <td><b>APELLIDO</b></td>
  29.                     <td><b>DNI</b></td>
  30.                     <td><b>ACCION</b></td>
  31.                 </tr>
  32.                 <%
  33.                 clienteDao dao = new clienteDao();
  34.                 ArrayList<cliente> al = dao.getCliente();
  35.                 for(int i=0;i<al.size();i++){
  36.                 %>
  37.                 <tr>
  38.                     <td><%= al.get(i).getNombre()%></td>
  39.                     <td><%= al.get(i).getApellido()%></td>
  40.                     <td><%= al.get(i).getDni()%></td>
  41.                     <td width="10%">
  42.                         <form method='POST' action='contactoServlet'>
  43.                             <input type="hidden" value="eliminarCliente" name="accion">
  44.                             <input type="button" value="Eliminar" name="accion">
  45.                         </form>
  46.                     </td>
  47.                 </tr>
  48.                    
  49.                 <% } %>
  50.             </table>
  51.  
  52.         </div>
  53.        <div id="pie">
  54.             <p>Alumno: Montes Jose</p>
  55.        </div>
  56.        </div>
  57.     </body>
  58. </html>
EL ERROR LO TENGO EN LA JSP REGISTROS.JSP QUE ES DONDE TRAIGO LOS CLIENTES. HAGO UN FOR Y CADA VEZ Q ENCUENTRA UN REGISTRO CREA UN FORM CON UN BOTON ELIMINAR. ESE BOTON DEBERIA LLAMAR AL METODO ELIMINAR Q ESTA EN EL DAO Y EJECUTO DEL SERVLET. PERO NO LO HACE
EL QUE ME PUEDA AYUDAR ME SERIA DE MUCHA AYUDA! GRACIAS!!
  #3 (permalink)  
Antiguo 07/09/2013, 17:44
 
Fecha de Ingreso: mayo-2013
Ubicación: Córdoba
Mensajes: 139
Antigüedad: 10 años, 11 meses
Puntos: 9
Respuesta: DELETE registro my sql

Para eliminar y modificar es: executeUpdate(), estas usando execute().
  #4 (permalink)  
Antiguo 07/09/2013, 18:52
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: DELETE registro my sql

gracias cazador.. pero mas alla de eso que me marcas ni llego a ese error porque mi boton eliminar no esta llamando a nadie.-.. no hace nada pero no veo el error
  #5 (permalink)  
Antiguo 09/09/2013, 08:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 91
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: DELETE registro my sql

Lo primero que pude detectar es que esta mal desde el Query:


Código:
public void eliminarCliente(Connection con, cliente c) throws SQLException{
 
        String sql="delete from cliente(nombre,apellido,dni) where id_Cliente="+c.getId_Cliente();
        Statement st = (Statement) con.createStatement();
        st.execute(sql);
    }

deberia ser:


Código:
public void eliminarCliente(Connection con, cliente c) throws SQLException{
 
        String sql="delete from cliente where id_Cliente="+c.getId_Cliente();
        Statement st = (Statement) con.createStatement();
        st.executeUpdate(sql);
    }

En el query para delete no requieres especificacion de los campos, simplemente es un delete from tabla where condiciones.
  #6 (permalink)  
Antiguo 09/09/2013, 08:50
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: DELETE registro my sql

gracias señor! solucionado .. era la query!!

Etiquetas: clase, delete, html, jsp, metodo, registro, servlet, sql, string
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 03:17.