Java.sql.SQLException: ResultSet may only be accessed in a forward direction

Galera toda vez que vou fazer login no sistema dá isso…

Consegui fazer a conexão, consegui executar o Select no banco mas quando ele vai fazer o Resultset da pau

[code] private void btnEntrarActionPerformed(java.awt.event.ActionEvent evt) {
ConectarBanco conecta = new ConectarBanco();
//Abre Conexao
conecta.abreConexao();

    if(txtNome.getText().equals("") || txtSenha.getText().equals("")){
        JOptionPane.showMessageDialog(null, "Por favor, entre com usuário e senha!");
    }
    else {
        try{
            String sql = "Select * from login where usuario_login like '"+txtNome.getText()+
                    "' and senha_login like '"+txtSenha.getText()+"'";
            try{
                conecta.executaSQL(sql);
            }catch (SQLException ex){
                ex.printStackTrace();
            }

            if(conecta.rs.first()){
                JOptionPane.showMessageDialog(null, "Bom trabalho");
            }
            else{
                JOptionPane.showMessageDialog(null, "Usuário ou senha invalidos...");
            }

        }catch(SQLException ex){
            ex.printStackTrace();
        }



    }

    //Fecha a Conexão
    try{
        conecta.fechaConexao();
    }catch (Exception ex){
        ex.printStackTrace();
    }
}[/code]

o erro ta na linha 19

Troque o first() por next().

E torça para ninguém colocar % no usuário e % na senha (o famoso SQL-Injection). Para resolver esse problema, considere com carinho o uso de PreparedStatement.

[code]
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

private void btnEntrarActionPerformed(java.awt.event.ActionEventevt){
ConectarBanco conecta = new ConectarBanco();
Connection conexao=null;
PrepareStatement pstm=null;
Resultset rs=null;
if(txtNome.getText().equals("") || txtSenha.getText().equals("")){
JOptionPane.showMessageDialog(null, “Por favor, entre com usuário e senha!”);
}
else {
try{
String sql = "Select from login where usuario_login like ? and senha_login like ? ";
try{
conexao = conecta.abreConexao();
/
dá certo se conecta.abreConexao() retornar Connection*/
pstm=conexao.prepareStatement(sql);
pstm.setString(1,txtNome.getText()); /* 1 quer dizer: set no 1º ?/
pstm.setString(2,txtSenha.getText());/
2 quer dizer: set no 2º ?/
rs=pstm.executeQuery(); /
aqui ele executa e rs recebe o retorno*/
}catch (SQLException ex){
ex.printStackTrace();
}
/* rs=pstm.executeQuery() foi bem-sucedido, rs possui um objeto. Se não, continua null */
if(rs!=null){
JOptionPane.showMessageDialog(null, “Bom trabalho”);
}
else{
JOptionPane.showMessageDialog(null, “Usuário ou senha invalidos…”);
}

        }catch(SQLException ex){
            ex.printStackTrace();
        }
    }

    //Fecha a Conexão
    try{
        conecta.fechaConexao();
    }catch (Exception ex){
        ex.printStackTrace();
    }
}[/code]

Não conheço os detalhes do seu código, por isso você precisa adaptar o que escrevi. Mas na essência funciona!

cara eu tava com o mesmo problema aqui…
mais a minha situação era um pouco diferente… acontecia que eu estava colocando um
beforefirst() antes de montar o rs.next,
acredito que assim como o ViniGodoy disse, o erro deve estar nesse seu first