elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:29  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Borrar en una base de datos MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Borrar en una base de datos MySQL  (Leído 1,732 veces)
soser

Desconectado Desconectado

Mensajes: 44


...


Ver Perfil
Borrar en una base de datos MySQL
« en: 22 Abril 2011, 10:14 »

Buenas, estoy haciendo una aplicacion que accede a una base de datos y hace las operaciones basicas de insertar, consultar, borrar y actualizar...el punto es que quiero borrar un elemento de una tabla pero me marca el siguiente error

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'XXX' in 'where clause'

y el codigo que hize para borrar es:
Código:
private void borrarMousePressed(java.awt.event.MouseEvent evt) {
    String clave=clav.getText().toString();
        boolean b=false;
        cn=new DbConnection();
        String s2;
       
        try
        {
            Statement s=cn.getConnection().createStatement();
            ResultSet rs=s.executeQuery("select * from Paciente");
            //while(rs.next())
            //{
               // s2=rs.getString(1);
               // if(s2.equals(clave))
               // {
                    b=true;
                    int n=s.executeUpdate("delete from Paciente where columna="+clave);
                    JOptionPane.showMessageDialog(null,"Se ha eliminado al paciente","Informacion!!",JOptionPane.ERROR);
             //   }
            //}
            cn.desconectar();
            if(!b)
            {JOptionPane.showMessageDialog(null,"No se ha encontrado el paciente a eliminar", "-_-",JOptionPane.INFORMATION_MESSAGE);}
        }
        catch(Exception e){e.printStackTrace();}
    }

Ya he intentado varias maneras de solucionarlo pero ninguna me funciona, asi que si alguien me pudiese ayudar con alguna idea o sugerencia, igual seguire buscando para ver  si logro solucionar mi problema.
Desde ya gracias


En línea
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Borrar en una base de datos MySQL
« Respuesta #1 en: 22 Abril 2011, 10:47 »

Hola.

Intenta algo así.

Código
private void borrarMousePressed(java.awt.event.MouseEvent evt) {
   String clave=clav.getText().toString();
       boolean b=false;
       cn=new DbConnection();
       String s2;
 
       try
       {
           Statement s=cn.getConnection().createStatement();
   //ResultSet rs = s.executeQuery("SELECT columna FROM Paciente WHERE nombrePaciente='Pedro'");
              ResultSet rs = s.executeQuery("SELECT * FROM Paciente");
rs.next();
int id = rs.getInt("columna");
               s.executeUpdate("DELETE FROM Paciente WHERE columna="+clave);
 
               b=true;
               JOptionPane.showMessageDialog(null,"Se ha eliminado al paciente","Informacion!!",JOptionPane.ERROR);
 
           cn.desconectar();
           if(!b)
           {JOptionPane.showMessageDialog(null,"No se ha encontrado el paciente a eliminar", "-_-",JOptionPane.INFORMATION_MESSAGE);}
       }
       catch(Exception e){e.printStackTrace();}
}
 
 

Modifico:
Por cierto ¿de qué tipo de dato es "columna" en tu base de datos?


Saludos.



« Última modificación: 22 Abril 2011, 20:22 por Darhius » En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
soser

Desconectado Desconectado

Mensajes: 44


...


Ver Perfil
Re: Borrar en una base de datos MySQL
« Respuesta #2 en: 23 Abril 2011, 03:25 »

Darhius gracias por responder, el tipo de dato de la columna es string, y ya lo he solucionado, solo era cosa de agregar unas ' ' enla variable de la siguiente forma:

int n=s.executeUpdate("delete from Paciente where columna="+"'"+clave+"'");

De todas maneras gracias   ;D
En línea
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Borrar en una base de datos MySQL
« Respuesta #3 en: 23 Abril 2011, 03:29 »

Darhius gracias por responder, el tipo de dato de la columna es string, y ya lo he solucionado, solo era cosa de agregar unas ' ' enla variable de la siguiente forma:

int n=s.executeUpdate("delete from Paciente where columna="+"'"+clave+"'");

De todas maneras gracias   ;D

Si exacto, por eso preguntaba de que tipo es columna xD, si es int no hay problema, pero si es char o tipo texto tienes que agregar comillas simples =)

Aunque también puedes dejarlo así.

Código
int n=s.executeUpdate("delete from Paciente where columna='"+clave+"'");

Solo un consejo, lee un poco sobre las "reglas" o recomendaciones para base de datos, por ejemplo en vez de "columna" puede que sea mas correcto PacienteId etc.

Saludos.

« Última modificación: 23 Abril 2011, 03:33 por Darhius » En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Accediendo a distintos datos en base de datos mysql
Desarrollo Web
agente_naranja 5 604 Último mensaje 14 Agosto 2006, 19:24
por agente_naranja
base de datos MySql
Desarrollo Web
patricio05 1 280 Último mensaje 8 Octubre 2006, 09:59
por Mr.Chispa
Problema al Borrar datos de la Base de Datos « 1 2 »
PHP
bels_mike 20 1,981 Último mensaje 31 Diciembre 2007, 18:34
por Azielito
url de mi base de datos MySQL « 1 2 »
Bases de Datos
alki 16 5,347 Último mensaje 3 Noviembre 2009, 01:53
por ^Tifa^
Hackear base de datos mysql teniendo las claves y datos
Hacking Básico
ReGnuM 9 9,859 Último mensaje 31 Enero 2010, 06:52
por TRICKY
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines