Para tutorías y/o asesorías virtuales sobre JAVA SE y/o MySQL, escríbeme al formulario de contacto.

BUSCA MÁS CONTENIDO AQUÍ:



Curso de JAVA: Cómo hago el botón Eliminar?




Hemos implementado ya varias e importantes funcionalidades en nuestro programa, tales como: Guardar (Insertar Datos), Buscar (Consultar Datos), y Modificar (Actualizar Datos). 
En esta oportunidad estudiaremos una funcionalidad adicional y que no es menos importante que las que ya hemos aprendido, y se trata de: Eliminar (Suprimir Registros).
Una vez se ha comenzado a insertar información en una aplicación, se da el caso de que hay registros erróneos debido a una mala digitación u otra circunstancia, o también que dicha información no sea realmente importante para el usuario del software, por lo cual se da la necesidad de eliminarla y/o suprimirla de la base de datos.

Portada del post: ¿Cómo hago el botón Eliminar?

Presta mucha atención a cada uno de los pasos que te explicaremos a continuación, para que logres implementar de forma exitosa el BOTÓN ELIMINAR en tu software.
  

Explicación por Videotutorial:



Explicación por Foto-Tutorial:

1. Nos ubicaremos en nuestro paquete “Metodos”, y accederemos a la Clase “MetodosBD” o a la clase donde estés creando los métodos de tu proyecto:

Estructura de la Clase MetodosBD.java
"Clase MetodosBD.java"

2. Deberás copiar y pegar los siguientes “import” de librerías, para que el código funcione:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.awt.HeadlessException;

NOTA:
Recuerda pegar dichos import, después de la línea de código que representa el nombre del paquete (ej. package Metodos;) y sobre la línea de código que identifica el nombre de tu Clase (ej. public class MetodosBD{...).

3. Luego, copia y pega el siguiente código, dentro de las llaves de apertura “{” y de cierre “}” de la Clase “MetodosBD”:




Pool metodospool = new Pool();
     
public void Eliminar(String id){
  
            Connection conexion = null;
int confirmar = JOptionPane.showConfirmDialog(null, "¿Desea eliminar este registro?");
        
        
        if(confirmar==JOptionPane.OK_OPTION){
        
            try {
                
                String sql = "DELETE FROM contacto "
                           + "WHERE id_contacto=?";
                
                conexion = metodospool.dataSource.getConnection();
                PreparedStatement pst = conexion.prepareStatement(sql);
                pst.setString(1, id);
                
                if(pst.executeUpdate() > 0){
                
JOptionPane.showMessageDialog(null, "¡El registro se ha eliminado de forma exitosa!");
                
                }else{
                
                    JOptionPane.showMessageDialog(null, "El registro no se ha podido eliminar.\n"
                       + "Inténtelo nuevamente.");
                
                }
                
            } catch (HeadlessException | SQLException e) {
            
JOptionPane.showMessageDialog(null, "El registro no se ha podido eliminar.\n"
               + "Inténtelo nuevamente.\n"+e);
                
            }finally{
            
                 if(conexion != null){
                    
                       try {
                        
                             conexion.close();
                       
                        } catch (SQLException e) {
                       
JOptionPane.showMessageDialog(null, "Se           produjo un error a la hora de cerrar la conexión, \n"
                             + "con la base de datos\n"+e);                            
                            
                        }
                   
                   }                        
            
            }
        
        }
 
 
 
}


NOTA: Lo que representa este código, es la creación de un método que hemos llamado "Eliminar"; el cual, nos va a permitir realizar la eliminación de los registros que se encuentran en una tabla de la base de datos, esto con el fin de evitar tener información no útil en un sistema. Como podemos ver, este es un método que necesita de otra Clase (Pool), para realizar la conexión con la base de datos (puedes ver la estructura de dicha Clase dando clic aquí).
NOTA: Algo muy importante a tener en cuenta de este método, es la parte de la sentencia SQL que hemos de establecer y/o usar para poder suprimir registros de la Base de datos. Si necesitas conocer un poco más sobre la estructura de este tipo de sentencia, dirígete y/o da clic en este enlace: Sentencia SQL: Eliminar registros de una tabla.

4. Teniendo en cuenta todo lo anterior, nuestra Clase “MetodosBD” quedaría de la siguiente forma:

package Metodos; 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.awt.HeadlessException;
 
public class MetodosBD {
   
Pool metodospool = new Pool();
 
public void Eliminar(String id){
 
        Connection conexion = null;
       
int confirmar = JOptionPane.showConfirmDialog(null, "¿Desea eliminar este registro?");
       
        
        if(confirmar==JOptionPane.OK_OPTION){
        
            try {
               
                String sql = "DELETE FROM contacto "
                           + "WHERE id_contacto=?";
               
                conexion = metodospool.dataSource.getConnection();
                PreparedStatement pst = conexion.prepareStatement(sql);
                pst.setString(1, id);
               
                if(pst.executeUpdate() > 0){
               
JOptionPane.showMessageDialog(null, "¡El registro se ha eliminado de forma exitosa!");
              
                }else{
                
                    JOptionPane.showMessageDialog(null, "El registro no se ha podido eliminar.\n"
                       + "Inténtelo nuevamente.");
             
                }
  
               
            } catch (HeadlessException | SQLException e) {
           
JOptionPane.showMessageDialog(null, "El registro no se ha podido eliminar.\n"
               + "Inténtelo nuevamente.\n"+e);
                
            }finally{
            
                 if(conexion != null){
                   
                        try {
                       
                             conexion.close();
                      
                        } catch (SQLException e) {
                      
JOptionPane.showMessageDialog(null, "Se           produjo un error a la hora de cerrar la conexión, \n"
                             + "con la base de datos\n"+e);                           
                            
                        }
                   
                   }                        
            
            }
        
        }
  
 
}
 
    
}


5. Ahora, vamos a dirigirnos nuevamente a nuestro formulario JAVA, y en la parte del código del mismo, procederemos a instanciar un objeto de nuestra Clase “MetodosBD”, el cual llamaremos con el mismo nombre; es decir, “metodosbd” (tú puedes darle otro nombre).
Seguidamente, crearemos una variable tipo “String”, y le asignaremos en este caso el nombre de “idcontacto”, y la inicializamos con un valor vacío:

MetodosBD metodosbd = new MetodosBD();
String idcontacto = "";


6. En la parte gráfica de nuestro formulario, daremos dos clics (seguidos) sobre nuestro botón “Eliminar”, para que de esta manera accedamos a la parte del código, más exactamente dentro del Evento que ejecutará todas las líneas de código que allí se coloquen (una vez se pulse sobre el botón):

puntero del mouse sobre el botón eliminar
"Botón Eliminar"

7. Borraremos el comentario que está allí por defecto, y colocaremos el siguiente código:

 
if(idcontacto.isEmpty()){
        
JOptionPane.showMessageDialog(null, "Debe seleccionar el registro   a   eliminar.", "Error en la operación",                                       JOptionPane.ERROR_MESSAGE);
        
}else{
        
      metodosbd.Eliminar(idcontacto);
 
}


Vemos que empleamos un condicional “if-else”. La condición que usamos, es verificar si la variable “idcontacto” (tipo String) está vacía; en este caso, si se cumple esta condición procederemos a mostrar un cuadro de diálogo informativo al cliente.

En caso de no cumplirse la condición, haremos uso del objeto “metodosbd” y seguidamente llamaremos al método “Eliminar()”, al cual le pasaremos como parámetro nuestra variable “idcontacto”; dicha variable, debe contener el código o id que identifica de forma única al registro que queremos eliminar de la tabla; en otras palabras, el contenido de “idcontacto”, es la llave primaria de uno de los registros de la tabla que se encuentra en nuestra base de datos. Por lo cual, de forma anterior se ha debido realizar la consulta y/o búsqueda de datos desde el formulario que estamos usando.

Si no sabes cómo realizar consultas de datos desde Java, puedes obtener una explicación sencilla, accediendo al artículo: Cómo hago el botón Buscar? 

Da clic aquí, para saber cómo hacer para que los datos que hay en un JTable (luego de consultarlos en la base de datos), podamos mostrarlos en cada uno de los campos correspondientes de un formulario.


NOTA: La línea de código:
MetodosBD metodosbd = new MetodosBD(); 
Puedes colocarla afuera del método del botón (arriba, después de la llave de apertura de la Clase), pues esto es lo más recomendable, ya que posiblemente necesites usar otros métodos creados en la Clase “MetodosBD”; y por consiguiente, ya no tendrás que instanciarla nuevamente para hacer uso de los mismos, sino que tan sólo con instanciarla una sola vez, bastará.

Si deseas obtener una explicación detallada línea por línea, del código que nos permitirá eliminar los registros de nuestra base de datos, puedes visitar el siguiente post:
*Código JAVA: Borrar información de una base de datos


8. Ahora, sólo debemos ejecutar nuestro proyecto y/o formulario, consultar el registro que hemos de suprimir, y finalmente dar clic en el botón “Eliminar”:


Cuadro de diálogo informando sobre la eliminación exitosa de un registro
"Cuadro de diálogo"


Si deseas descargar el vídeo, junto con el fascículo (PDF) del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 18".

Para ver la Parte 17 del Curso, puedes dar clic en el siguiente enlace: "Curso de JAVA: Cómo hago el botón Modificar?"
Para ampliar más tus conocimientos en cuanto a desarrollar software usando JAVA, puedes ver todos los capítulos de "Cómo lo hago en JAVA?"


¿Quieres aprender a realizar aún más cosas y personalizar tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips JAVA que hemos estado publicando en este blog, dando clic aquí.
 
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.

Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos. 
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...




Comparte este artículo






Sobre El Autor

Eduardo Bastidas UH

Cristiano y Colombiano. Analista de Sistemas & Blogger.
Me motiva mucho el poder compartir día tras día lo que he aprendido y voy aprendiendo en el área de las Tecnologías de la Información y las Comunicaciones.

2 comentarios:

  1. Respuestas
    1. Saludos estimado Lurvin Cruz, para nosotros es satisfactorio haber sido de gran ayuda para tu proyecto JAVA.
      Te invitamos para que compartas este post (Curso de JAVA: Cómo hago el botón Eliminar?), y de esa manera ayudes a otros desarrolladores a encontrar una solución a sus inconvenientes.

      ¡CRISTO TE AMA!

      Bendiciones...

      Eliminar


RECIBIR NOTICIAS POR EMAIL


Suscríbete al boletín para recibir lo último en tu correo electrónico

¿NECESITAS AYUDA PARA PROGRAMAR EN JAVA SE Y MYSQL?