Problemas com consulta no banco de dados

Bom dia meus amigos, estou com problemas ao tentar realizar uma consulta no banco de dados,
postarei o código do método de consulta e o do botão de consultar, estou utilizando ODBC e o erro que aparece é:

sql.SQLException:[Microsoft][ODBC SQL Server Driver]Índice de descritor inválido0

se alguém poder me ajudar eu agradeço muito.
:slight_smile:

Método:

//MÉTODO RESPONSÁVEL POR CONSULTAR UM REGISTRO ESPECÍFICO NO BANCO DE DADOS.
    public Usuario consultarUsuario(Usuario usuario) {
        Connection con = null;
        Conexao c = new Conexao();
        boolean consulta = true;
        try {
            con = c.abrirConexao();
            if (con != null) {

                Statement stm = con.createStatement();

                ResultSet RS = stm.executeQuery("Select * from USUARIO where Login='" + usuario.getConsultaLogin() + "'");
                while (RS.next()) {
                    usuario.setId(RS.getInt("IdUsuarios"));
                    usuario.setNome(RS.getString("Nome"));
                    usuario.setLogin(RS.getString("Login")); 
                    
                    consulta = false;
                    JOptionPane.showMessageDialog(null, "Dados encontrados!");
                    
                   
                   
                    
                }
               if (consulta) {
                    JOptionPane.showMessageDialog(null, "Dados não encontrados!");
                }
            }else {
                System.out.println("Conexão nula.");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao consultar os dados." + ex + JOptionPane.ERROR_MESSAGE);
        } finally {
            c.fecharConexao(con);
        }
        return usuario;

    }

Código do botão de consulta:

public String btnConsultar_action() {
          if(txtLoginConsulta!=null){
        Usuario usuario = new Usuario();
        usuario.setConsultaLogin((String) txtLoginConsulta.getText());


        UsuarioDAO usuarioDAO = new UsuarioDAO();
        usuarioDAO.consultarUsuario(usuario);
        
        txtId.setText(usuario.getId());
        txtNome.setText(usuario.getNome());
        txtLogin.setText(usuario.getLogin()); 
        
          }
        return null;

    }

Agradeço desde já e um abraço a todos.

oi

verifica em

usuario.setId(RS.getInt("IdUsuarios")); usuario.setNome(RS.getString("Nome")); usuario.setLogin(RS.getString("Login"));

se você está passando corretamente maiusculas e minusculas nas variáveis de acordo com o que está no banco de dados e também se você está pegando corretamente o tipo, getString, getInt, etc…

Tem certeza que o objeto usuário que vc trata no consultarUsuario(Usuario usuario) ta sendo retornado para o usuário do btnConsultar_action() ???

Pessoal muito obrigado, mas acabei de resolver o problema, eu nao sabia que a ordem das colunas nas tabelas do banco de dados tinha que ser igual a ordem em que eu puxava os registros de cada uma para o respectivo atributo no metodo, depois que coloquei na mesma ordem pegou.

Obrigado a todos, abraço.