Bom galera… andei tentando buscar algo pelo forum para responder minha pergunta e nao encontrei…
O esquema eh o seguinte… Eu tenho um banco de dados chamado Login.mdb onde ficarão todos os usuários e senhas para entrar no programa. Lá existem três tabelas separando os grupos para entrar com seus respectivos privilégios no programa: Servidor, Professor e Aluno…
No meu código eu faço o seguinte: quando o usuário clica no botão conectar (após digitar o usuário e a senha na tela de login) ele executa o seguinte código:
if (txtNome.getText().length() == 0 || pwdSenha.getPassword().length == 0) {
JOptionPane.showMessageDialog(null,"Informe o usuário e a senha.","Atenção!",JOptionPane.ERROR_MESSAGE);
}
else {
String grupo = "";
if (blServ.isSelected()) grupo = "Servidor";
else if (blProf.isSelected()) grupo = "Professor";
else if (blAluno.isSelected()) grupo = "Aluno";
Usuario user = new Usuario(txtNome.getText(),new String(pwdSenha.getPassword()), grupo);
if (user.verificaUser(nome, senha, grupo)) {
new Principal().setVisible(true);
}
else JOptionPane.showMessageDialog(null, "Usuário ou senha incorretos! Por favor informe novamente", "Não logou!", JOptionPane.ERROR_MESSAGE);
}
ou seja ele cria uma nova instância da classe Usuario:
public Usuario(String tnome, String tsenha, String tgrupo) {
nome = tnome;
senha = tsenha;
grupo = tgrupo;
}
e testa pelo metodo verificaUser(…) da classe Usuario se o usuário pode entrar no programa.
A minha dúvida é como eu posso fazer este método… comecei fazendo assim:
public boolean verificaUser() throws SQLException, IOException{
System.out.println("Carregando o Driver JDBC/ODBC...");
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Conectando-se ao banco de dados CAEP...");
con = DriverManager.getConnection("jdbc:odbc:caep","regina","caep");
Statement stmt = con.createStatement();
String sql = "SELECT * FROM " + grupo + " WHERE " + nome;
ResultSet rs = stmt.executeQuery(sql);
[b]...[/b]
[b]...[/b]
} catch (Exception e) {
e.printStackTrace();
}
DatabaseMetaData dmd = con.getMetaData();
System.out.println("Conectado a: "+ dmd.getURL());
System.out.println("Driver: "+ dmd.getDriverName());
System.out.println("Versão: "+ dmd.getDriverVersion());
[b]...[/b]
[b]...[/b]
}
E a minha intenção é procurar pelo nome e depois verificar se a senha bate com a que o usuário digitou…
Como posso fazer isso? e o comando SQL está correto?
desde já agradeço! vlw!