Problemas com o resultset.next

5 respostas
leandro-maanaim
Pessoal estou com um problema que me resultset.next nao avança pq será? vou colocar meu código.
public void comboBoxCodArea()
    {
        try
         {

              codQuadrasCadastradass1.removeAllItems();
              conexao.executaSQL("select * from cadastrosDeArea order by codigo");
              conexao.resultset.first();
              codQuadrasCadastradass1.addItem(conexao.resultset.getString("codArea"));
              while(conexao.resultset.next())
              {
                   codQuadrasCadastradass1.addItem(conexao.resultset.getString("codArea"));
              }
         }
         catch(SQLException erro)
         {
              JOptionPane.showMessageDialog(null, "Erro ao atualizar o combo-Box!","Informação do Sistema",JOptionPane.ERROR_MESSAGE);
         }
    }
Pesoal quando eu abro minha tela ele prenche normalmente ou seja ele está funcionando normal mais quando eu chamo meu metodo comboBoxCodArea(); do meu botao gravar editar exluir ele só me add o primeiro item ou seja ele não entra no meu while pq será?

(OBS:) SÓ LEMBRANDO UMA COISA PESSOAL

no meu codQuadrasCadastradass1ActionPerformed(Que é o meu comboBox) esse problema só ocorre quando eu tento fazer uma pesquisa com ele tipo aí vai o código
if(iA == 1)
         {
              try
              {
                   conexao.executaSQL("select * from cadastrosdeArea order by codigo");
                   conexao.resultset.first();
                   String comp = conexao.resultset.getString("codArea");
                   if(comp.equalsIgnoreCase((String)codQuadrasCadastradass1.getSelectedItem()))
                   {
                        codigoArea.setText(conexao.resultset.getString("codigo"));
                        execArea();
                   }
                   else
                   {
                        while(conexao.resultset.next())
                        {
                             comp = conexao.resultset.getString("codArea");
                             if(comp.equalsIgnoreCase((String)codQuadrasCadastradass1.getSelectedItem()))
                             {
                                  codigoArea.setText(conexao.resultset.getString("codigo"));
                                  execArea();
                             }

                        }

                   }
              }
              catch(SQLException erro)
              {
                    JOptionPane.showMessageDialog(null,"Não foi possivel atualizar o comboBox códigos de áreas cadastradas.","Informação do Sistema",JOptionPane.ERROR_MESSAGE);
              }
         }
         iA = 1;

5 Respostas

M

Você não precisa chamar o método first() deixe apenas assim:

while(conexao.resultset.next()) {  
    codQuadrasCadastradass1.addItem(conexao.resultset.getString("codArea"));  
}
pedroroxd

Porque você tá chamando o .first() ?

codQuadrasCadastradass1.removeAllItems(); conexao.executaSQL("select * from cadastrosDeArea order by codigo"); conexao.resultset.first(); //AKI codQuadrasCadastradass1.addItem(conexao.resultset.getString("codArea")); while(conexao.resultset.next()) { codQuadrasCadastradass1.addItem(conexao.resultset.getString("codArea")); }
AXo que não precisa não…

leandro-maanaim

e minha pesquisa no combobox ficaria como? pq se eu nao colocar nada no meu actionPerformed… ele funciona normal.

Lags

Faz como o marcobiscaro2112 falou, vai funcionar.

M

Minha sugestão: nunca acople dessa maneira a interface gráfica e a persistência.

Separe as coisas. O ideal seria usar uma classe DAO para fazer a persistência e depois usar o interface gráfica para mostrar os objetos resgatados do banco.

Uma ótima leitura aqui, ajusta bastante, nem que sejam só os primeiros capítulos.

Criado 15 de dezembro de 2009
Ultima resposta 15 de dez. de 2009
Respostas 5
Participantes 4