Estou com o erro nessa linha do código Erro no if (Resultset.next()) {

Bom dia! Você teria como verificar o que está acontencedo nesse if (ResultSet.next()) { ? Ele fica com uma bola vermelha com um ponto de Exclamação. Eu não entendi muito bem.

Já removi o ResultSet.next, mas depois ele apresenta outro erro após tentar fazer a autenticação do usuário registrado no banco de dados.

Segue o código abaixo.

try {
        ConexaoDAO conn = new ConexaoDAO();
        Connection connection = ConexaoDAO.getConnection();
        
        String sql = "SELECT usuario, senha FROM morador where usuario = '" + txtusuario.getText() + "' and  senha = '" + txtsenha.getText() + "'";
        conn.executeSQL(sql);
        //Se houver resultado, ou seja, se validar o usuario e senha, faça algo.
        if (Resultset.next()) {
            //chamar a tela que eu quero abrir
        TelaPrincipal principal = new TelaPrincipal();
        //usando o dispose para fechar a tela
        this.dispose();
        principal.setVisible(true);
        } else {
            // enviar mensagem dizendo incorreto.
        JOptionPane.showMessageDialog(null, "Usuário ou senha Inválida");
        }

    } catch (Exception erro) {
        System.out.println("Erro: "+erro);
    }
}

Sem saber qual ferramenta/IDE/editor vc está usando, o que dá pra sugerir é colocar o mouse por cima e/ou clicar nessa bola vermelha, que ele vai mostrar a mensagem de erro. Ou tem alguma outra janela/aba que mostra a tal mensagem (se deu erro, ele está sendo mostrado em algum lugar).

Sem isso só nos resta adivinhar/especular: pode ser que o erro seja porque essa variável não foi declarada, já que nesse trecho de código ela surge “do nada”.

A não ser que ela tenha sido declarada antes, e aí o erro seria outro. Mas enfim, tem como ver qual a mensagem de erro e colocar aqui pra gente? Senão não tem como adivinhar o problema…

1 curtida

Oi!

Além do que o hugokotsubo disse, tem o fato de que o algoritmo esta estranho.
Desconsiderando as variações existentes, o padrão básico esperado seria o seguinte:

Connection conn = DriverManager.getConnection(url, usuario, senha);

Connection conn = DriverManager.getConnection(url, usuario, senha);
			
Statement st = conn.createStatement();
			
ResultSet result = st.executeQuery("select coluna from tabela where id = 1");
			
while( result.next( ) ) {
	//do someThing();
}

Ou seja, verifique a mensagem como sugerido pelo hugokotsubo e aplique as correções.

[]'s