Estou tentando criar uma tela de login utilizando um JFrame e banco de dados mysql, mas só cai na exceção.
Se alguém poder me ajuda fico agradecido.
Segue abaixo o trecho de codigo…
private void fazerLogin(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/gerpro";
String usuario = "root";
String senha = "admin";
Connection con;
con = DriverManager.getConnection(url, usuario, senha);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT (login, senha, departamento)FROM cadastro WHERE " +
"login='"+cxTxtCadLogin.getText()+"' AND senha='"+cxTxtCadSenha.getPassword()+"' AND " +
"departamento='"+comboCadDepartamento.getSelectedItem()+"'");
while (rs.next())
if ((cxTxtLogLogin.getText().equals(rs.getString("login")))&&
(cxTxtLogSenha.getPassword().equals(rs.getString("senha")))&&
(comboLogDepartamento.getSelectedItem().equals(rs.getString("departamento"))));
login.dispose();
}catch (ClassNotFoundException e){
JOptionPane.showMessageDialog(null, "Falha na conexão com o banco de dados.\n" + e.getMessage());
e.printStackTrace();
}catch (SQLException e){
JOptionPane.showMessageDialog(null, "Login Incorreto.\n" +
"Tente novamente.\n","Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
Tinha um erro no codigo “erro de execução”, pois coloquei um “;” na condição do “if”.
Só que agora quando aperto o botão OK não cai na exceção, mas também não acontece nada, como se não tivesse codigo algum.
Caso consiga identificar algum outro erro, por favor me mande.
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT (login, senha, departamento)FROM cadastro WHERE " +
"login='"+cxTxtCadLogin.getText()+"' AND senha='"+cxTxtCadSenha.getPassword()+"' AND " +
"departamento='"+comboCadDepartamento.getSelectedItem()+"'");
por:
[code]PreparedStatement st = con.prepareStatement(“SELECT login, senha, departamento FROM cadastro WHERE login = ? AND senha = ? AND departamento = ?”);
OK!
Testei das duas maneira, mas mesmo assim, coninua dando erro.
[quote]Qual o erro que está dando???
[/quote]
Está dando o seguinte erro… setString (int, java.lang.String) in Java.sql.PreparedStatement Cannot be applied to (int, char[])
na linha…