Olá! Minha dúvida é como durante o login, pegar um terceiro dado (ou seja, além de usuário e senha) para poder ser manipulado futuramente. Atualmente, eu pego tudo que é digitado no form e utilizo, porém gostaria de refinar pegando o nome real do usuário e exibir.
Exemplo: Login = WSGUJ, Senha = 123456, Nome = Wilian.
Esse é o código que utilizo no DAO:
public boolean checkLogin(String login, String senha) {
User u = new User();
Connection con = ConnectionFactory.getConnection();
PreparedStatement stmt = null;
ResultSet rs = null;
boolean check = false;
String nome = null;
try {
stmt = con.prepareStatement("SELECT * FROM user WHERE login = ? and senha = ?");
stmt.setString(1, login);
stmt.setString(2, senha);
rs = stmt.executeQuery();
if (rs.next()) {
u.setNome(rs.getString("nome"));
nome = u.getNome();
check = true;
}
} catch (SQLException ex) {
Logger.getLogger(UserDAO.class.getName()).log(Level.SEVERE, null, ex);
} finally {
ConnectionFactory.closeConnection(con, stmt, rs);
}
System.out.println(nome); //consigo pegar e printar, mas não receber em outras janelas...
return check;
}
e para fazer o login, utilizo esse código em um btn:
UserDAO dao = new UserDAO();
if (dao.checkLogin(usrField.getText(), passField.getText())) {
new ViewHome().setVisible(true); // Nesse caso, é a ViewHome quem irá receber o nome do sujeito
this.dispose();
} else {
new ViewLoginError().setVisible(true);
}
Agradeço desde já e mais uma vez, desculpe o incomodo com perguntas…



