Java - Ayudar Borrar Registro de dos tablas

 
Vista:
Imágen de perfil de Edinson
Val: 52
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayudar Borrar Registro de dos tablas

Publicado por Edinson (22 intervenciones) el 10/11/2016 17:33:13
Hola Buenos dias, venia aqui para pedirles si me pueden ayudar ya que tengo 2 tablas en mi BD En MYSQL
mis tablas son "Consumos" y "detalle_consumo" y quisiera eliminar un regsitro de mi tabla consumos pero que ala ves tambien se borre de mis tabla detalle_consumo, e intentado eliminarlo pero me sale este error

Cannot delete or update a parent row: a foreign key constraint fails (`bd_sistema_hotel`.`detalle_consumo`, CONSTRAINT `detalle_consumo_ibfk_2` FOREIGN KEY (`id_consumo`) REFERENCES `consumos` (`id_consumo`))


este es mi codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
private void EliminarConsumo() {
 try {
            int elegir = tabla_consumos.getRowCount();
 
            if (elegir == -1) {
                JOptionPane.showMessageDialog(this, " Seleccione Un Registro  ", " AVISO", JOptionPane.WARNING_MESSAGE);
            } else {
                int opcion = JOptionPane.showConfirmDialog(this, " Desea Eliminar El Registro Seleccionado  ", " AVISO", JOptionPane.YES_NO_OPTION);
 
                if (opcion == JOptionPane.YES_OPTION) {
 
                    int filaS = tabla_consumos.getSelectedRow();
 
                    String consultaEliminarConsumo = "DELETE FROM consumos WHERE id_consumo =" + tabla_consumos.getValueAt(filaS, 0);
                    String consultaEliminarDetalleC ="DELETE FROM detalle_consumo WHERE id_consumo =" + tabla_consumos.getValueAt(filaS, 0);
 
                    Statement sta = con.createStatement();
                    Statement sta1 = con.createStatement();
 
                    int e = sta.executeUpdate(consultaEliminarConsumo);
 
                    if (e > 0) {
                        JOptionPane.showMessageDialog(this, " Regsitro Eliminado Exitosamente ", " EXITO ", JOptionPane.INFORMATION_MESSAGE);
                        CargarDatosConsumo();
                    }
                      sta1.executeUpdate(consultaEliminarDetalleC);
                }
 
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, " Error  " + e, " ERROR ", JOptionPane.INFORMATION_MESSAGE);
            System.out.println(""+e);
        }
 
    }

porfavor si puediesen ayudarme se los agradeceria mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder