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

Eliminar datos de MYQL

Estas en el tema de Eliminar datos de MYQL en el foro de Java en Foros del Web. Para editar uso los siguientes codigos y como ago para eliminar Código: String id_actualizar = ""; void Editar(String id) { String sSQL = ""; String ...
  #1 (permalink)  
Antiguo 03/01/2012, 06:50
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Eliminar datos de MYQL

Para editar uso los siguientes codigos y como ago para eliminar

Código:
    String id_actualizar = "";
    void Editar(String id)            
    {        
        String sSQL = "";
        String nombres = "", apellidos = "";
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();

        sSQL = "SELECT id, nombres, apellidos FROM ejercicio_2 " +
                "WHERE id = "+id;
        try
        {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sSQL);

            while(rs.next())
            {                
                nombres = rs.getString("nombres");
                apellidos = rs.getString("apellidos");              
            }
            jTextField1.setText(nombres);
            jTextField2.setText(apellidos);
            id_actualizar = id;

        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
Y luego ingreso

Código:
String nombres=this.jTextField1.getText();
        String apellidos=this.jTextField2.getText();
        
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();
        String sSQL = "";
        String mensaje = "";
            sSQL = "UPDATE ejercicio_2 " +
                    "SET nombres = ?," +
                    "apellidos = ? " +
                    "WHERE id = "+id_actualizar;
        mensaje = "Los datos se han Modoficado...";
        //***********
        try
        {
            PreparedStatement pst = cn.prepareStatement(sSQL);
            pst.setString(1, nombres);
            pst.setString(2, apellidos);
            int n = pst.executeUpdate();

            if(n > 0)
            {
                JOptionPane.showMessageDialog(null, mensaje);
                Tabla("");
            }
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
        }

Como elimino una fila de id
  #2 (permalink)  
Antiguo 03/01/2012, 07:18
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar datos de MYQL

De la misma manera solo que cambia la consulta por:
DELETE FROM ejercicio_2
WHERE id = ?

Aunque sea un DELETE debes usar executeUpdate()
  #3 (permalink)  
Antiguo 03/01/2012, 07:29
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Respuesta: Eliminar datos de MYQL

No me funciona en que estoy mal

Código:
    void Eliminar(String id)            
    {        
        String sSQL = "";
        String nombres = "", apellidos = "";
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();

        sSQL = "DELETE FROM ejercicio_2 WHERE id=?;";
        try
        {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sSQL);

            while(rs.next())
            {                
                nombres = rs.getString("nombres");
                apellidos = rs.getString("apellidos");              
            }
            jTextField1.setText(nombres);
            jTextField2.setText(apellidos);
            id_actualizar = id;

        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
En que estoy mal?
  #4 (permalink)  
Antiguo 03/01/2012, 08:14
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Eliminar datos de MYQL

Pues no veo en que momento le das el parámetro a la sentencia SQL, además veo que estas tratando un DELETE como si fuera un SELECT
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #5 (permalink)  
Antiguo 03/01/2012, 08:22
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Respuesta: Eliminar datos de MYQL

Debo usar

ResultSet rs = st.executeUpdate(sSQL);

La verdad nose usar DELETE me pueden enseñar? o me pueden pasar un link?
  #6 (permalink)  
Antiguo 03/01/2012, 08:25
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar datos de MYQL

Es exactamente como haces el UPDATE. Solo debes tener en cuenta que tienes que tener el ID a borrar asi como haces al actualizar.
  #7 (permalink)  
Antiguo 03/01/2012, 08:50
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Respuesta: Eliminar datos de MYQL

Ya me funciona Esta bien? una chequeada por favor
Parese que me falta cerar
Código:
    void Eliminar(String id)            
    {        
        String sSQL = "";
        String nombres = "", apellidos = "";
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();

        sSQL = "SELECT id, nombres, apellidos FROM ejercicio_2 " +
                "WHERE id = "+id;
        
        try
        {
            Statement st = cn.createStatement();
            st.executeUpdate("DELETE FROM ejercicio_2 WHERE id="+id);
            Tabla("");
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
  #8 (permalink)  
Antiguo 03/01/2012, 09:08
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Eliminar datos de MYQL

Cita:
Iniciado por soy_nicanor Ver Mensaje
Ya me funciona Esta bien? una chequeada por favor
Parese que me falta cerar
Código:
    void Eliminar(String id)            
    {        
        String sSQL = "";
        String nombres = "", apellidos = "";
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();

        sSQL = "SELECT id, nombres, apellidos FROM ejercicio_2 " +
                "WHERE id = "+id;
        
        try
        {
            Statement st = cn.createStatement();
            st.executeUpdate("DELETE FROM ejercicio_2 WHERE id="+id);
            Tabla("");
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
Pues creo que asi se veria mejor:

Código:
    void Eliminar(String id)            
    {        
        String sSQL = "";
        ConexionMySQL mysql = new ConexionMySQL();
        Connection cn = mysql.Conectar();
        
        try
        {
            Statement st = cn.createStatement();
            st.executeUpdate("DELETE FROM ejercicio_2 WHERE id="+id);
            Tabla("");
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #9 (permalink)  
Antiguo 03/01/2012, 09:52
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años
Puntos: 3
Respuesta: Eliminar datos de MYQL

Gracias CapacProg
Como puedo cerrar DELETE
Ya que en el mismo Formulario llevo Ingresar datos.

El problema es cuando elimino datos Y luego ingreso datos y me da error Simplemente no ingresa datos A que se debe?
  #10 (permalink)  
Antiguo 03/01/2012, 10:01
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Eliminar datos de MYQL

Prueba usando un "commit", cierra tu conexion y refresca tu formulario con los datos que quedaron en tu base de datos.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Etiquetas: mysql, 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 04:57.