Boa tarde Pessoal.
Estou tentando realizar a validação de usuário em um BD MySql, para acesso ao módulo principal de um sistema DeskTop. Acontece que sou novato em Java, e é a primeira vez que utilizo ResultSet etc.
Pelos exemplos que verifiquei, cheguei ao código no final desta mensagem. Minha dúvida é como comparar essas informações com as que estão no BD? (Nome e Codigo). No BD tenho LOGIN e SENHA.
String nome = new String (txtLogin.getText()); // Recebe o Login
String codigo = new String (senha.getPassword()); // Recebe a senha
No código no final desta mensagem não esta funcionando, pois da o seguinte erro: Linha 146 corresponde ao
—> pstmt.setString(1, usuarios.getLogin());
Galera peço desculpas se for furo meu (O que provavelmente é), mas me ajudem pelo amor de DEUS. Pois tudo que eu já procurei na documentação desta API, eu ainda não consegui me achar.
Agradeço a todos e conto com a ajuda de vocês.
Edvaldo
// -------------------------------------- erro ----------------------------------- //
java.lang.NullPointerException
at Login$ButtonHandler.actionPerformed(Login.java:146)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
// ------------------ Botão de validação de usuário e senha ----------------- //
class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == acessar) {
String nome = new String (txtLogin.getText()); // Recebe o Login
String codigo = new String (senha.getPassword()); // Recebe a senha
if (nome.equals( "" ) || codigo.equals( "" )) {
JOptionPane.showMessageDialog(null, "Código ou Senha nulo." +
"\n\t" +
"\n\tLogin e senha devem ser digitados!" +
"\n\t",
"Informações não Digitadas!!!", JOptionPane.ERROR_MESSAGE);
txtLogin.requestFocus();
txtLogin.setText("");
senha.setText("");
}
else {
Usuarios usuarios = null;
PreparedStatement pstmt = null;
Connection conn = contatosDAO.getConnect();
ResultSet rs = null;
try {
String sql = "SELECT LOGIN, SENHA FROM USUARIOS WHERE LOGIN = ? AND SENHA = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, usuarios.getLogin());
pstmt.setString(2, usuarios.getSenha());
rs = pstmt.executeQuery();
if(rs.next()) {
if(rs.getString("LOGIN").equals(nome) && rs.getString("SENHA").equals(codigo)) {
Main main = new Main("Sistema de Gerenciamento Pessoal - Versão 1.0Beta");
main.init();
main.setResizable(false);
setVisible(false);
}
else {
JOptionPane.showMessageDialog(null, "Verifique!" +
"\n\t" +
"\n\tLogin ou senha não cadastrados!" +
"\n\t",
"Login Inválido", JOptionPane.ERROR_MESSAGE);
txtLogin.requestFocus();
txtLogin.setText("");
senha.setText("");
}
}
contatosDAO.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
[size=“11”]
[color=“red”]
- Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia: