Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2013, 15:17
jmm87
 
Fecha de Ingreso: octubre-2012
Mensajes: 202
Antigüedad: 12 años, 2 meses
Puntos: 0
eliminar registro de la BD desde java EE

Hola amigos! estoy intentando borrar un registro de la tabla desde jee y no me funciona. mi idea es borrarlo con respecto al ID de la tabla. se donde esta el error pero no como solucionarlo. se que es algo muy bobo pero recien empiezo. les muestro mi codigo:

clienteDao.java:
aca esta el metodo
Código Java:
Ver original
  1. package dao;
  2.  
  3. import clases.cliente;
  4. import conexion.Conexion;
  5. import java.sql.Connection;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9. import java.util.ArrayList;
  10.  
  11. public class clienteDao {
  12.  
  13.     //INSERTAR
  14.     public void insertarCliente(Connection con, cliente c) throws SQLException{
  15.         String sql="INSERT INTO cliente(nombre,apellido,dni) values('"+c.getNombre()+"','"+c.getApellido()+"','"+c.getDni()+"')";
  16.         Statement st=con.createStatement();
  17.         st.execute(sql);
  18.         st.close();
  19.  
  20.     }
  21.  
  22.     //BORRAR
  23.     public void borrarCliente(Connection con, cliente c) throws SQLException{
  24.         String sql="DELETE FROM cliente WHERE idCliente="+c.getIdCliente();
  25.         Statement st=con.createStatement();
  26.         st.execute(sql);
  27.         st.close();
  28.     }
  29.  
  30.  
  31.     //MOSTRAR
  32.     public ArrayList<cliente> traerClientes() throws Exception {
  33.  
  34.         String sql= "SELECT * FROM cliente";
  35.  
  36.         Connection con = Conexion.getConnection();
  37.         Statement st=con.createStatement();
  38.         ResultSet rs=st.executeQuery(sql);
  39.  
  40.         ArrayList <cliente> al= new ArrayList<cliente>();
  41.  
  42.  
  43.         while(rs.next()){
  44.             cliente c= new cliente();
  45.             c.setIdCliente(rs.getInt("idCliente"));
  46.             c.setNombre(rs.getString("nombre"));
  47.             c.setApellido(rs.getString("apellido"));
  48.             c.setDni(rs.getString("dni"));
  49.             //agrega todos los clientes al arrayList
  50.             al.add(c);
  51.         }
  52.         //retorna el array lista de clientes
  53.         return al;
  54.     }
  55.  
  56.  
  57.     //MODIFICAR
  58.     public void modificarCliente(){
  59.     }
  60.  
  61.  
  62.     //BUSCAR
  63.     public void buscarCliente(){
  64.  
  65.     }
  66. }
clientes.jsp
listado de cliente (aca es donde funciona el traerCLientes q es otro metodo)
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.         <title>JSP Page</title>
  9.         <link rel="stylesheet" type="text/css" href="estilo.css" />
  10.         <%@page import="dao.clienteDao"%>
  11.         <%@page import="clases.cliente"%>
  12.         <%@page import="java.util.ArrayList"%>
  13.     </head>
  14.     <body>
  15.         <div id="contenido">
  16.             <table width=100%"" border="1">
  17.                 <tr>
  18.                     <th><b>NOMBRE</b></th>
  19.                     <th><b>APELLIDO</b></th>
  20.                     <th><b>DNI</b></th>
  21.                     <th><b>accion</b></th>
  22.                 </tr>
  23.                 <!--Completo tabla con registros de nombre, apellido y dni de los clientes-->
  24.                 <%
  25.                 clienteDao dao = new clienteDao();
  26.                 ArrayList<cliente> a = dao.traerClientes();
  27.                 for(int i=0;i<a.size();i++){
  28.                 %>
  29.                 <tr>
  30.                     <td><%= a.get(i).getNombre()%></td>
  31.                     <td><%= a.get(i).getApellido()%></td>
  32.                     <td><%= a.get(i).getDni()%></td>
  33.                     <td width="5%">
  34.  
  35.                         <form method="POST" action="clienteServlet">
  36.                             <input type="hidden" value="<%= a.get(i).getIdCliente()%>" name="forParametros">
  37.                             <input type="hidden" value="borrarCliente" name="accion">
  38.                             <input type="submit" value="Eliminar" name="accion">
  39.                         </form>
  40.                     </td>
  41.                 </tr>
  42.  
  43.                 <% } %>
  44.             </table>
  45.         </div>
  46.     </body>
  47. </html>
y el servlet que es el que hace q esto responda(clienteServlet):
Código Java:
Ver original
  1. package servlet;
  2.  
  3. import clases.cliente;
  4. import conexion.Conexion;
  5. import dao.clienteDao;
  6. import java.io.IOException;
  7. import java.io.PrintWriter;
  8. import java.sql.Connection;
  9. import java.sql.SQLException;
  10. import javax.servlet.ServletException;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14.  
  15. public class clienteServlet extends HttpServlet {
  16.  
  17.     @Override
  18.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  19.     throws ServletException, IOException {
  20.  
  21.         response.setContentType("text/html;charset=UTF-8");
  22.         PrintWriter out = response.getWriter();
  23.  
  24.         out.println("<head>");
  25.         out.println("<link rel='stylesheet' type='text/css' href='estilo.css' />");
  26.         out.println("</head>");
  27.  
  28.         out.println("<div id='contenido'>");
  29.  
  30.         out.println("<table width='100%'>");
  31.             //COMIENZA EL FORM DE CONTACTO
  32.             out.println("<form method='POST' action='clienteServlet'>");
  33.  
  34.             out.println("<tr>");
  35.  
  36.                 out.println("<td>");
  37.                     out.println("<label>NOMBRE:</label>");
  38.                     out.println("<input name='nombre' type='text'>");
  39.                 out.println("</td>");
  40.  
  41.                 out.println("<td>");
  42.                     out.println("<label>APELLIDO:</label>");
  43.                     out.println("<input name='apellido' type='text'>");
  44.                 out.println("</td>");
  45.  
  46.                 out.println("<td>");
  47.                     out.println("<label>DNI:</label>");
  48.                     out.println("<input name='dni' type='text'>");
  49.                 out.println("</td>");
  50.  
  51.                 out.println("<td>");
  52.                     out.println("<input type='hidden' value='borrarCliente' name='idCliente'>");
  53.                     out.println("<input type='hidden' value='insertarCliente' name='accion'>");
  54.                     out.println("<input type='submit' name='Enviar'>");
  55.                 out.println("</td>");
  56.  
  57.             out.println("</form>");
  58.             //TERMINA EL FORM--------------------
  59.  
  60.             out.println("</tr>");
  61.             out.println("</table>");
  62.  
  63.             out.println("<iframe src='clientes.jsp' width='970px' height='500' align='center' frameborder='0'>");
  64.             out.println("</div>");
  65.     }
  66.  
  67.     @Override
  68.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  69.     throws ServletException, IOException {
  70.  
  71.             response.setContentType("text/html;charset=UTF-8");
  72.             PrintWriter out = response.getWriter();
  73.  
  74.  
  75.             String formParametros = request.getParameter("accion");
  76.             Connection con=null;
  77.  
  78.             if(formParametros !=null){
  79.  
  80.                 try {
  81.                     con = Conexion.getConnection();
  82.                 } catch (Exception ex) {
  83.  
  84.                     ex.printStackTrace();
  85.                 }
  86.  
  87.                 clienteDao dao=new clienteDao();
  88.  
  89.                 cliente c=new cliente();
  90.  
  91.                 c.setIdCliente(request.getParameter("idCLiente"));
  92.                 c.setNombre(request.getParameter("nombre"));
  93.                 c.setApellido(request.getParameter("apellido"));
  94.                 c.setDni(request.getParameter("dni"));
  95.  
  96.                 if(formParametros.equals("insertarCliente")){
  97.                     try {
  98.                         dao.insertarCliente(con, c);
  99.                     } catch (SQLException ex) {
  100.                         ex.printStackTrace();
  101.                     }
  102.  
  103.                     if (c == null) {
  104.                         response.sendRedirect("error.jsp");
  105.                     } else {
  106.                         response.sendRedirect("clienteServlet");
  107.                     }
  108.                 }
  109.  
  110.                 if(formParametros.equals("borrarCliente")){
  111.                     try {
  112.                         dao.borrarCliente(con, c);
  113.                     } catch (SQLException ex) {
  114.                         ex.printStackTrace();
  115.                     }
  116.                 }
  117.             }
  118.     }
  119.  
  120.     @Override
  121.     public String getServletInfo() {
  122.         return "Short description";
  123.     }// </editor-fold>
  124.  
  125. }