Estado de cursor inválido

1 resposta
progJava

Fiz o método de pesquisa só que ele só pesquisa se for em ordem Ex:eu mando ele pesquisar o promeiro registro
ele pesquisa blz se eu quiser pequisar outro ele só pesquisa o segundo registro,depois só o terçeiro ,depois só o quarto só em ordem o seguinte erro consta : Estado de cursor inválido . O que será?

Código:
public void pesquisa_digitacao()   
   {   
       try   
       {   
            banco.resultset.first();   
            String igual = "n";   
            //int tamanho_pesquisa = tf_pesquisa.getText().length();   
            while(igual.equals("n"))   
            {   
                String pesquisado = banco.resultset.getString("titulo"); //               
                if (pesquisado.equals(tf_pesquisa.getText()))   
                {   
                    igual = "s";   
                }   
                else   
                {   
                     banco.resultset.next();   
                }   
                   
                   
            }   
               
            // nas linhas abaxo, mostra_conteudo_tabela();   
          //  tf_numero.setText(banco.resultset.getString("numero"));//Essas duas linhas é necesária   
          // tf_titulo.setText(banco.resultset.getString("titulo"));   
            tf_sobre.setText(banco.resultset.getString("sobre"));   
           tf_data.setText(banco.resultset.getString("data"));   
          tf_hora.setText(banco.resultset.getString("hora"));   
            tf_diretorio.setText(banco.resultset.getString("diretório"));   
            // mostrar_dados();   
            //cb_pesquisa.setSelectedItem(tf_nome.getText());   
             banco.resultset.first();   
        }   
        catch(Exception erro)   
        {   
            JOptionPane.showMessageDialog(null, "Não conseguiu localizar via digitação, erro = "+erro);   
        }     
       // TODO add your handling code here:   
    }

1 Resposta

T
  1. Se você não sabe o que está fazendo, não use resultset.first(). Ele vai dar erros se você tiver algum resultado vazio. Não é bom ficar andando sobre um resultset de lá para cá; normalmente é melhor sempre andar para frente, a menos que você saiba o que está fazendo.

  2. O correto é normalmente fazer algo como:

while (resultset.next()) {
    ... pegar os valores
    ... fazer alguma coisa
}
Criado 17 de julho de 2009
Ultima resposta 17 de jul. de 2009
Respostas 1
Participantes 2