
03/02/2015, 20:53
|
| | Fecha de Ingreso: enero-2015 Ubicación: Guayaquil
Mensajes: 17
Antigüedad: 10 años, 1 mes Puntos: 0 | |
Controlar excepcion nullpointerexception Buenas noches.
Tengo el sgte codigo que utilizo para el login pero me arroja un error cuando el usuario no existe y se va por el nullpointerexcepction aunque no causa que el programa se detenga desearia saber como puedo controlar esta excepcion de alguna mejor manera, aqui dejo el codigo.
Código:
public ResultSet cargaAcceso(String user, String pass) {
try {
cn = conectaMYSQL.getIntance().getConnection();
ps = cn.prepareStatement("SELECT * FROM usuario WHERE (usu_usuario = '" + user + "' AND usu_contrasena = '" + pass + "')");
rs = ps.executeQuery();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
Logger.getLogger(AccesoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
}
UsuarioTO a ;
public UsuarioTO logear(String user, String pass) {
sql = "SELECT * FROM usuario WHERE (usu_usuario = '" + user + "' AND usu_contrasena = '" + pass + "')";
Object[] filaObt = operacionDAO.getFila(sql);
try {
if (filaObt != null) {
a = new UsuarioTO();
a.setId(Integer.parseInt(filaObt[0].toString()));
a.setCodigo(filaObt[1].toString());
a.setNombre(filaObt[2].toString());
a.setUsuario(filaObt[3].toString());
a.setContrasena(filaObt[4].toString());
a.setIp(filaObt[5].toString());
a.setPerfil(filaObt[6].toString());
System.out.println("Usuario Correcto");
} else {
JOptionPane.showMessageDialog(null, "No existe el Usuario Asociado");
AccesoGUI.txtUsuario.setText("");
AccesoGUI.txtContraseña.setText("");
AccesoGUI.txtContraseña.setEnabled(false);
AccesoGUI.txtUsuario.requestFocus();
}
} catch (NullPointerException ex) {
JOptionPane.showMessageDialog(null,ex.getMessage());
Logger.getLogger(AccesoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return a;
}
public String perfil(String user, String pass) {
sql = "SELECT usu_perfil FROM usuario WHERE (usu_usuario = '" + user + "' AND usu_contrasena = '" + pass + "')";
rs = cargaAcceso(user ,pass);
try {
while (rs.next()) {
String add = rs.getString(7);
resul = add;
//JOptionPane.showMessageDialog(null,"Usted es : " +resul);
}
} catch (SQLException | NullPointerException ex) {
JOptionPane.showMessageDialog(null,ex.getMessage());
Logger.getLogger(AccesoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return resul;
}
String resul,perfi;
public boolean acceder(String usuario, String clave, JTextField t1, JTextField t2) {
flag = false;
usuario = t1.getText();
clave = t2.getText();
usuarioTO = logear(usuario, clave);
try {
perfi = perfil(usuario, clave);
switch (perfi) {
case "Administrador":
if (usuarioTO.getIp().equals(ipdao.getIP())) {
JOptionPane.showMessageDialog(null, "ad", "Cuadro de Advertencia", JOptionPane.QUESTION_MESSAGE);
JOptionPane.showMessageDialog(null, "Bienvenido al Sistema", "Cuadro de Advertencia", JOptionPane.QUESTION_MESSAGE);
flag = true;
gui.setVisible(true);
AccesoGUI.estado = 1;
MenuAdministradorGUI.lblMensaje.setText(usuario);
} else {
JOptionPane.showMessageDialog(null, "Datos Erroneos Adm", "Cuadro de Advertencia", JOptionPane.ERROR_MESSAGE);
AccesoGUI.lblMensaje.setText("Su Dirección IP no esta Autorizada para el Acceso");
t2.setText("");
t1.setText("");
t1.requestFocus();
} break;
case "Usuario":
if (usuarioTO.getIp().equals(ipdao.getIP())) {
JOptionPane.showMessageDialog(null, "user", "Cuadro de Advertencia", JOptionPane.QUESTION_MESSAGE);
JOptionPane.showMessageDialog(null, "Bienvenido al Sistema", "Cuadro de Advertencia", JOptionPane.QUESTION_MESSAGE);
flag = true;
guiu.setVisible(true);
AccesoGUI.estado = 2;
MenuUsuarioGUI.lblMensaje.setText(usuario);
} else {
JOptionPane.showMessageDialog(null, "Datos Erroneos User", "Cuadro de Advertencia", JOptionPane.ERROR_MESSAGE);
AccesoGUI.lblMensaje.setText("Su Dirección IP no esta Autorizada para el Acceso");
t2.setText("");
t1.setText("");
t1.requestFocus();
} break;
}
} catch (NullPointerException ex) {
JOptionPane.showMessageDialog(null,"Error"+ex.getMessage());
Logger.getLogger(AccesoDAO.class.getName()).log(Level.SEVERE, null, ex);
flag = false;
}
return flag;
}
Saludos. |