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

eliminar registro base datos

Estas en el tema de eliminar registro base datos en el foro de Java en Foros del Web. Güeno, a ver cómo os explico esta duda existencial... Tengo una página jsp donde muestro en una tabla los registros de una base de datos. ...
  #1 (permalink)  
Antiguo 15/07/2005, 05:55
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
eliminar registro base datos

Güeno, a ver cómo os explico esta duda existencial...
Tengo una página jsp donde muestro en una tabla los registros de una base de datos. Hasta aquí ningún problema.En cada fila he añadido un checkbox. Y al final un botón eliminar. Cuando pulso dicho botón quiero que borre los registros que han sido marcados en el checkbox.
¿Alguien me puede dar alguna pista de cómo hacerlo?

He visto alguna forma pero siempre es introduciendo en un textarea el codigo del valor que se quiere borrar y yo necesito como os he explicado...Realmente es como cuando estás en tu cuenta de correo y marcas los mensajes que quieres y después pulsas el botón eliminar y los elimina!

Muchas gracias.
  #2 (permalink)  
Antiguo 18/07/2005, 08:08
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
DELETE FROM TUTABLA WHERE IDREGISTRO IN (" + request.getParameter("ID")+ ")

y listo el pollo, pelada la gallina
ahhh los checkboxes tienen qeu estar dentro de un form y ese form apuntar a un jsp que tenga ese sql
__________________
On error no hago nada porque deje de fumar...
  #3 (permalink)  
Antiguo 22/07/2005, 05:05
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
gracias dieguicho y perdona mi ignorancia pero...

la cuestión es que quiero que, los que se marquen, primero se visualicen en otra página y si se pulsa borrar se eliminan definitivamente. El problema es que los checkbox tienen el mismo nombre, ya que añado uno en una fila y se crea tantas veces como registros vaya leyendo.
En la página donde los envío tengo el problema de que sólo me lee el primer checkbox marcado. ¿Cómo me puede leer todos?
Me han dicho algo de que en asp se hace con split pero en jsp ni idea...

gracias.
  #4 (permalink)  
Antiguo 22/07/2005, 05:34
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
Perdona, ya he visto por el foro lo del split así que a ver si lo consigo...

gracias a todos por vuestra ayuda!!!

Última edición por jessikott; 22/07/2005 a las 06:19
  #5 (permalink)  
Antiguo 28/07/2005, 14:14
 
Fecha de Ingreso: mayo-2005
Mensajes: 6
Antigüedad: 19 años
Puntos: 0
Como recibes varios checkboxs (del mismo nombre pero de distinto valor me imagino) la forma de recibirlos sería

Cita:
String[] listaDeCheckboxs = request.getParameterValues("nombre_del_checkbox");
lo cual almacena la lista de ID's q es lo que te interesa... despues recorres dicha lista (con un for o un while ahi ves tu) y por cada ID (que sería un String) mandas el SQL para borrar (DELETE FROM.....)
  #6 (permalink)  
Antiguo 03/08/2005, 08:33
 
Fecha de Ingreso: julio-2005
Mensajes: 7
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Mismo Problema

Hola

tengo ese mismo problema y llevo varios dias intentando solucionarlo y no he conseguido nada.

desde la pagina jsp donde muestro los registros tengo q hacer algo para q se almacenen en la lista de checkbox? sino como la recupero en la otra pagina?


Me estoy volviendo loco, un ejemplillo me ayudaria.
Gracias.


  #7 (permalink)  
Antiguo 04/08/2005, 13:51
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Hola amigos del foro tengo un ejemplo, pero es usando JavaBeans, que primero el jsp lee de la base de datos los registros, y va creando una tabla con su respectivo checkbox....

luego cuando seleccionas los seleccionas y le das borrar el Bean agarra los values de los que fueron seleccionados y entonces ya puedes manipularlos, bien mandarlos a otro JSP par confirmar o bien borrarlos, aqui el ejemplo, el JSP esta "sucio" (pues hice las consultas a la DB desde ahi mismo ) por que lo hice de rapido (lo ideal es usar solo el BEAN ), pero buenooooooo seria de arreglarlo al gsuto....

este es el JSP:

Código PHP:
<%@page import="java.sql.*"%>
<
jsp:useBean id="objBean" scope="page" class="hello.myBean" />
<
jsp:setProperty name="objBean" property="*" />
<%
if(
objBean.getBtnEliminar()!=null){
    
out.println(objBean.eliminar());
}else{
try{
    
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
    
Connection cn DriverManager.getConnection("jdbc:mysql://localhost/mybase","user","password");
    
Statement st cn.createStatement();
    
ResultSet rs st.executeQuery("SELECT * FROM memorama");
%>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
title>mail</title>
</
head>

<
body>
<
form method="post">
<
input type="submit" value="eliminar" name="btnEliminar">
<
table width="96%" border="0">
<%while(
rs.next()){%>
  <
tr>
    <
td width="4%"><input type="checkbox" name="checkbox" value="<%=rs.getString("Id")%>"></td>
    <
td width="27%"><%=rs.getString("User")%></td>
    <
td width="28%"><%=rs.getString("Tiempo")%></td>
    <
td width="20%"><%=rs.getString("Fecha")%></td>
    <
td width="21%">&nbsp;</td>
  </
tr>
 <%}
     
rs.close();
    
st.close();
    
cn.close();
    }catch(
Exception e){
        
out.println(e);
    }
}
 %>
</
table>
</
form>
</
body>
</
html
y este es el bean que esta empaquetado en el paquete hello.

Código PHP:
/*
 * Author: Crysfelin
 * Created: Thursday, August 04, 2005 1:06:15 AM
 * Modified: Thursday, August 04, 2005 1:06:15 AM
 */
package hello;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class 
myBean
{
    private 
String checkbox[];
    private 
String btnEliminar;
    private 
int registros;
    
    
    public 
void setBtnEliminar(String elim){
        
btnEliminar elim;
    }
    
    public 
String getBtnEliminar(){
        return 
btnEliminar;
    }
    
    public 
void setCheckbox(String[] che){
        
checkbox che;
        
int i=0;
        while(
true){
            try{
                
//no hacemos nada :0
                
che[i] = che[i];
            }catch(
Exception e){
                
//salimos cuando halla el desbordamiento
                
break;
            }
            
i++;
        }
        
registros i;
    }
    
    public 
String eliminar(){
        
String msg="";
        try{
            
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
            
Connection cn DriverManager.getConnection("jdbc:mysql://localhost/mybase","user","password");
            
System.out.println("Se conecto");
            for(
int i=0;i<registros;i++){
                
System.out.println("se prepara para borrar");
                
Statement st cn.createStatement();
                
System.out.println("antes del query");
                
st.executeUpdate("delete from memorama where Id="+checkbox[i]+" Limit 1");
                
System.out.println("borro el registro "+i);
                
st.close();
            }
            
msg "Se han eliminado " registros " Registros";
            
cn.close();
        }catch(
Exception e){
            
msg "Ocurrio un error al eliminar los registros :(";
            
System.out.println(e);
        }

        return 
msg;
    }


bueno, espero les sirva, dudas?? me avisan

have funn

Última edición por stock; 04/08/2005 a las 13:59
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 14:27.