Duda uso de catch con exception
Publicado por Javi (1 intervención) el 06/05/2018 23:07:42
Buenas tardes, (soy nuevo en java) y estoy usando Netbeans y mysql para realizar un programa y me surgio un problema y queria ver como podria solucionarlo.
En mysql tengo 3 tablas.. persona.. localidad y zona..
La cuestion es que tengo un registro de personas con los campos: id(pk), nombre, apellido, localidad(fk) y zona(fk).
Ahora el tema es que si la localidad no existe me abre una ventana con la tabla de localidades, mi problema es que si la zona no existe me deberia abrir la ventana con las zonas. Pero como la excepcion es la misma q en localidades me abre la ayuda de localidades.
Aca les dejo el codigo del boton guardar que utilizo:
En mysql tengo 3 tablas.. persona.. localidad y zona..
La cuestion es que tengo un registro de personas con los campos: id(pk), nombre, apellido, localidad(fk) y zona(fk).
Ahora el tema es que si la localidad no existe me abre una ventana con la tabla de localidades, mi problema es que si la zona no existe me deberia abrir la ventana con las zonas. Pero como la excepcion es la misma q en localidades me abre la ayuda de localidades.
Aca les dejo el codigo del boton guardar que utilizo:
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
try {
PreparedStatement pps = cn.prepareStatement("INSERT INTO clientes(cl_Nombre,cl_Apellido,cl_cp,cl_zona)VALUES(?,?,?,?)");
pps.setString(1, txtclnombre.getText());
pps.setString(2, txtclapellido.getText());
pps.setString(3, txtclcodigopostal.getText());
pps.setString(4, txtclzona.getText());
pps.executeUpdate(); //ejecutar actualizacion/cambio
JOptionPane.showMessageDialog(null, "Datos Guardados");
limpiar(); //limpia los campos
mostrartabla(""); //se actualiza la tabla mostrando los cambios
}catch(com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) {
JOptionPane.showMessageDialog(null, "El código postal no existe o no esta cargado","ADVERTENCIA",JOptionPane.WARNING_MESSAGE);
Ayuda abrir = new Ayuda();
abrir.setVisible(true);
}catch(com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) {
JOptionPane.showMessageDialog(null, "La zona no existe o no esta cargada","ADVERTENCIA",JOptionPane.WARNING_MESSAGE);
Zona abrir = new Zona();
abrir.setVisible(true);
}
} catch (SQLException ex) {
Logger.getLogger(PantallaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
Valora esta pregunta


0