Java - Ayuda sobre este error

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

Ayuda sobre este error

Publicado por EpanG-System (22 intervenciones) el 09/11/2016 21:15:31
Porfavor ayudenme a resolver este problema :
estoi intentando guardar datos a dos tablas en una BD en mysql , pero me sale este error :

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

No se enque estoi fallando , este es mi codigo que estoi utilizando :

private void GuardarConsumo() {

try {

String consultaGuardarConsumo ="INSERT INTO consumos VALUES(?,?,?,?,?)";
String consultaGuardarDetalleConsumo ="INSERT INTO detalle_consumo VALUES(?,?,?,?,?)";

PreparedStatement prepa = con.prepareStatement(consultaGuardarConsumo);
PreparedStatement prepa1 = con.prepareStatement(consultaGuardarDetalleConsumo);

prepa.setInt(1,Integer.parseInt( jTextFieldI_ID_CONSUMOS.getText()));
prepa.setString(2, jText_DescripcionProduct.getText());
prepa.setString(3, jTextField_TotalConsumo_Agregar.getText());
prepa.setString(4, jComboBox_Concepto.getSelectedItem().toString());
prepa.setString(5, jLabel_ID_LR.getText());

prepa1.setInt(1, (int) jSpinner_CantidadProducto.getValue());
prepa1.setString(2, jLabel_PrecioPro_U.getText());
prepa1.setString(3, jTextField_FECHAEMISION_CONSUMO.getText());
prepa1.setInt(4,Integer.parseInt( jLabel_IDPRODUCTO.getText()));
prepa1.setInt(5, Integer.parseInt(jTextFieldI_ID_CONSUMOS.getText()));

prepa1.executeUpdate();
int guardarConsumos = prepa.executeUpdate();
if ( guardarConsumos > 0) {
JOptionPane.showMessageDialog(this, " Consumos Registrados Correctamente " , " EXITO ",JOptionPane.INFORMATION_MESSAGE);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(this, " ERROR AL GUARDAR => "+e.getMessage());
System.out.println(""+e);
}

}
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

Ayuda sobre este error

Publicado por Tom (1831 intervenciones) el 09/11/2016 21:23:30
Así a simple vista, debes insertar antes en la tabla maestra que en la hija. Altera el orden de los insert:

...
int guardarConsumos = prepa.executeUpdate();

guardarConsumos = prepa1.executeUpdate();
...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de EpanG-System
Val: 52
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre este error

Publicado por EpanG-System (22 intervenciones) el 09/11/2016 21:41:28
:) Gracias amigo por tu ayuda .. no me abia fijado en esa parte..Bendiciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar