Problemas banco dados, validação login e senha

1 resposta
C

eis aí o código,
nao estou conseguindo comparar as strings, fiz alguns textes e a consulta do banco está funcionando, porém nao sei como comparar com query,
e na execução do código somente está retornando false,

se alguem souber, agradeco a coompreenção

private void Entrar(java.awt.event.ActionEvent evt) {

String c1=jTextField2.getText();

String c2 = new String(jPasswordField1.getPassword());
Conectar_banco conectar_banco = new Conectar_banco();
    if (conectar_banco.confirma_cadastro(c1, c2)){
        Tela01 tela01 = new Tela01();
        tela01.show();
    }
    else{
        JOptionPane.showMessageDialog(null,"Login ou senha incorreto!!","Atenção", JOptionPane.ERROR_MESSAGE);
    }
}
// chamando o método conectar_banco

public boolean confirma_cadastro(String logintela, String senhatela){

JOptionPane.showMessageDialog(null, conectando com o banco de dados);

Connection conn = null;

String teste1 = SELECT login, senha FROM usuario where login = logintela and senha = senhatela;;
//conectando com o banco para comparar se as variáveis passadas para o método confirma_cadastro 
    try {
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection( "jdbc:mysql://localhost/sismaq?user=root" );
        System.out.println("A conexão foi um sucesso\n");  
        Statement stm = conn.createStatement();  
        ResultSet rs = stm.executeQuery(teste1);
        while (rs.next()) {
            logindb = rs.getString("login");
            senhadb = rs.getString("senha");
            JOptionPane.showMessageDialog(null, " login " + logindb + " senha " + senhadb);
            
            if ((senhatela == senhadb) && (logintela == logindb))
               
            return true;
        }
        
        System.out.println("\n\nConsulta realizada com sucesso!!!\n");
    } catch(ClassNotFoundException e) {
        System.out.println("excessão Classe não encontrada");
        e.printStackTrace();
    } catch(SQLException e) {
        System.out.println("SQL Exception... Erro na consulta:");
        e.printStackTrace();
    } finally {
        try {
            conn.close();
            System.out.println("\n\nFechamendo a conexão");
        } catch(SQLException erro) {
            System.out.println("Erro no fechamento");
            erro.printStackTrace();
        }
    }
    return false;
}

1 Resposta

hicans
String teste1 = "SELECT login, senha FROM usuario where login = 'logintela' and senha = 'senhatela';";

Estah errado mano, o logintela estah como uma String fixa.

O certo seria usar com uma variavel:

String teste1 = "SELECT login, senha FROM usuario where login = '" + logintela + "' and senha = '" + senhatela + "';
Criado 5 de maio de 2007
Ultima resposta 6 de mai. de 2007
Respostas 1
Participantes 2