elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  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 5,516 veces)
soser

Desconectado Desconectado

Mensajes: 44


...


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

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

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


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

Hola.

Intenta algo así.

Código
  1. private void borrarMousePressed(java.awt.event.MouseEvent evt) {
  2.    String clave=clav.getText().toString();
  3.        boolean b=false;
  4.        cn=new DbConnection();
  5.        String s2;
  6.  
  7.        try
  8.        {
  9.            Statement s=cn.getConnection().createStatement();
  10.    //ResultSet rs = s.executeQuery("SELECT columna FROM Paciente WHERE nombrePaciente='Pedro'");
  11.               ResultSet rs = s.executeQuery("SELECT * FROM Paciente");
  12. rs.next();
  13. int id = rs.getInt("columna");
  14.                s.executeUpdate("DELETE FROM Paciente WHERE columna="+clave);
  15.  
  16.                b=true;
  17.                JOptionPane.showMessageDialog(null,"Se ha eliminado al paciente","Informacion!!",JOptionPane.ERROR);
  18.  
  19.            cn.desconectar();
  20.            if(!b)
  21.            {JOptionPane.showMessageDialog(null,"No se ha encontrado el paciente a eliminar", "-_-",JOptionPane.INFORMATION_MESSAGE);}
  22.        }
  23.        catch(Exception e){e.printStackTrace();}
  24. }
  25.  
  26.  

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


Saludos.



« Última modificación: 3 Septiembre 2015, 18:43 pm por 1mpuls0 » En línea

abc
soser

Desconectado Desconectado

Mensajes: 44


...


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

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

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


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

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
  1. 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: 3 Septiembre 2015, 18:42 pm por 1mpuls0 » En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al Borrar datos de la Base de Datos « 1 2 3 »
PHP
bels_mike 20 9,965 Último mensaje 31 Diciembre 2007, 18:34 pm
por Azielito
url de mi base de datos MySQL « 1 2 »
Bases de Datos
alki 16 30,713 Último mensaje 3 Noviembre 2009, 01:53 am
por ^Tifa^
Hackear base de datos mysql teniendo las claves y datos
Hacking
ReGnuM 9 19,761 Último mensaje 31 Enero 2010, 06:52 am
por toxeek
Introducir datos de mi Base de Datos Mysql en TextBox's
Programación Visual Basic
Didy 0 1,713 Último mensaje 17 Febrero 2013, 19:03 pm
por Didy
Borrar Registros de base de datos Mysql
Desarrollo Web
JRO1384 2 2,697 Último mensaje 4 Noviembre 2013, 17:18 pm
por Saberuneko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines