Erro: java.sql.SQLException: After end of result set

Oi, boa noite…, estou fazendo um trabalho sobre uma locadora, e cheguei na parte de Locar.
quando entro em locar e localizo o cliente pelo CPF, ele localiza e faz a locação normalmente, mas quando eu vou buscar o cliente que já fez uma locação ele da o erro: java.sql.SQLException: After end of result set
Desde já agradeço.

Onde esta a seta é onde ele pula pro catch.
Essa parte do código é da Locar.java

[code]public void localizarCliente()
{
try
{
Cliente cliente = new Cliente();
FilmeCliente filmecliente = new FilmeCliente();

    DefaultTableModel model = (DefaultTableModel) jTable2.getModel();
    cliente.setCpfCli(jFormattedTextField1.getText());
    cliente.localizar();
    filmecliente.setIdCli(cliente.getIdCli());

-> filmecliente.selecionarTudoLocadoPorCliente();

    if (filmecliente.getCond())
    {
        JOptionPane.showMessageDialog(this, "Já existem filme locados para este Cliente.", "Erro", JOptionPane.ERROR_MESSAGE);
    }
        
    while (filmecliente.getCond())
    {
        model.addRow(new String[] {String.valueOf(filmecliente.getIdFil()), filmecliente.getNomFil()});
        filmecliente.proximoLocado();
    }
    cliente.fechar();
    filmecliente.fechar();
    jTextField1.setText(cliente.getNomCli());
    idCli = cliente.getIdCli();
}
catch(Exception e)
{
    JOptionPane.showMessageDialog(this, e, "Erro", JOptionPane.ERROR_MESSAGE);
}

}[/code]

Essa parte é do código FilmeCliente.java

[code]public void proximo() throws Exception
{
if(cond=rs.next())
{
setartudo();
}
}

public void proximoLocado() throws Exception
{
if(cond=rs.next())
{
proximo();
nomFil = rs.getString(“nomFil”);
}
}
public void selecionarTudoLocadoPorCliente() throws Exception
{
conectar();
pstm=conn.prepareStatement(“SELECT filme.nomFil, filmecliente.*,” +
" DATE_FORMAT(datAlu,"%d-%m-%Y") AS alugado," +
" DATE_FORMAT(datDev,"%d-%m-%Y") AS devolvido," +
" cliente.nomCli FROM filmecliente" +
" INNER JOIN filme ON filme.idFil = filmecliente.idFil" +
" INNER JOIN cliente ON filmecliente.idCli = cliente.idCli" +
" WHERE cliente.idCli=? AND filme.aluFil = 1");
pstm.setInt(1, idCli);
rs=pstm.executeQuery();
proximoLocado();
}[/code]

Blz,

muito provavelmente em cliente.localizar(); o cursor chegou ao final do resultSet.

Basicamente você encontrou EOF = TRUE. Tem que dedilhar o código mesmo.

Abs.

vlw leorbarbosa …

mas o erro era em

public void proximoLocado() throws Exception { if(cond=rs.next()) { proximo(); nomFil = rs.getString("nomFil"); } }

eu fiz assim e resolveu…

public void proximoLocado() throws Exception { if(cond=rs.next()) { idFil = rs.getInt("ifFil"); nomFil = rs.getString("nomFil"); proximo(); } }

mas de qualquer forma muito obrigado… ^^

[quote=aslem]vlw leorbarbosa …

mas o erro era em

public void proximoLocado() throws Exception { if(cond=rs.next()) { proximo(); nomFil = rs.getString("nomFil"); } }

eu fiz assim e resolveu…

public void proximoLocado() throws Exception { if(cond=rs.next()) { idFil = rs.getInt("ifFil"); nomFil = rs.getString("nomFil"); proximo(); } }

mas de qualquer forma muito obrigado… ^^[/quote]

O cursor chegou ao final do resultSet.

Basicamente você encontrou EOF = TRUE. Tem que dedilhar o código mesmo.