problema al guardar y editar
Publicado por Adriana (1 intervención) el 10/08/2012 19:01:50
buenas tardes mi problema es que yo tengo dos tablas que estan realcionadas llamadas Direccion y Persona pero direccion no es obligatorio para persona es decir puedo o no la persona tener una direccion
este es mi codigo
si la persona no quiere poner direccion el lo guarda bien en bd es decir lo coloca null y no le asigna a persona una direccion id
pero cuando quiero editar a la persona y colocarle una direccion no me guarda direccion ni le asigna un id tendria la posible solucion ????espero su respuestas
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
private void guardarAccion() {
try {
List<Empresa> empresas = empresaController.findEmpresaEntities();
for (Empresa empresa1 : empresas) {
empresa = empresa1;
break;
}
persona.setId(idTextField.getText());
persona.setCi(Integer.parseInt(ciTextField.getText()));
persona.setNombre(nombrePerTextField.getText().toUpperCase());
persona.setApellido(apellidoPerTextField.getText().toUpperCase());
SimpleDateFormat formatoFecha = new SimpleDateFormat("yyyy:MM:dd");
persona.setFechaNacimiento(fechaNacimientoDateChooser.getDate());
persona.setCodigoEmpleado(codigoEmpleadoTextField.getText());
persona.setCargoId((Cargo) tiposCargosComboBox.getSelectedItem());
persona.setEmpresaRif(empresa);
if (!editando) {
if(direccion != null){
direccion.setDireccion(direccionTextArea.getText());
direccion.setCiudad(ciudadTextField.getText());
String estado = (String) estadoComboBox.getSelectedItem();
direccion.setEstado(estado);
dirController.create(direccion);
controller.create(persona);
} else{
direccion.setDireccion(null);
direccion.setCiudad(null);
direccion.setEstado(null);
}
JOptionPane.showMessageDialog(this, "Persona creada exitosamente", "informacion", JOptionPane.INFORMATION_MESSAGE);
} else {
if(direccion != null){
direccion.setDireccion(direccionTextArea.getText());
direccion.setCiudad(ciudadTextField.getText());
String estado = (String) estadoComboBox.getSelectedItem();
direccion.setEstado(estado);
dirController.edit(direccion);
direccion.setId(Integer.parseInt(persona.getId()));
}
controller.edit(persona);
JOptionPane.showMessageDialog(this, "Persona actualizada exitosamente", "informacion", JOptionPane.INFORMATION_MESSAGE);
}
llenarTabla();
habilitaCampos(false);
} catch (PreexistingEntityException e) {
JOptionPane.showMessageDialog(this, "La Persona ya existe", "Error", JOptionPane.ERROR_MESSAGE);
habilitaCampos(false);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Ha ocurrido un error, comuniquese con soporte", "Error", JOptionPane.ERROR_MESSAGE);
habilitaCampos(false);
}
}
private void editarAccion() {
int respuesta = JOptionPane.showConfirmDialog(this, "Esta acción puede cambiar los datos de la Persona, ¿Desea continuar?", "Advertencia", JOptionPane.YES_NO_OPTION);
if (respuesta == JOptionPane.YES_OPTION) {
habilitaCampos(true);
direccion = persona.getDireccionId();
editando = true;
}
}
si la persona no quiere poner direccion el lo guarda bien en bd es decir lo coloca null y no le asigna a persona una direccion id
pero cuando quiero editar a la persona y colocarle una direccion no me guarda direccion ni le asigna un id tendria la posible solucion ????espero su respuestas
Valora esta pregunta


0