Preenchendo tabelas com consulta ao banco

1 resposta
N

Boa noite pessoal, estou fazendo uma consulta ao Banco e preenchendo uma Tabela com o resultado da consulta. O problema é que quando digito o nome do cliente em Jtextfield, queria que a tabela fosse preenchida com todas as informações referente aquele nome do cliente. Mas só aparece uma informação referente ao cliente digitado, e sei que o cliente tem mais informaçoes no banco, mas não consigo consultar atraves deste método.

private void pesquisaCliente()
        {
              try   
          {   
              conexaoPagamento.conecta();
              conexaoPagamento.executeSQL("select * from pagamento where nome like = " + jTextFieldCliente.getText());
              conexaoPagamento.resultset.first();   
              String igual = "n";   
                while(igual.equals("n"))
               {   
                   if( conexaoPagamento.resultset.getString("nome").equals(jTextFieldCliente.getText()))       
                    {               
                     igual = "s";     
                   }   
                  else 
                   conexaoPagamento.resultset.next();   
              }  
          
              tabelaPagamento.addRow(new Object[]{conexaoPagamento.resultset.getString("nvenda"), conexaoPagamento.resultset.getString("nome"), conexaoPagamento.resultset.getString("data"), conexaoPagamento.resultset.getString("valor"), conexaoPagamento.resultset.getString("vencimento"), conexaoPagamento.resultset.getString("pagamento")});
            
           }
             catch(Exception erro)
           {
          JOptionPane.showMessageDialog(null,"Venda não Encontrada");
            jTextFieldCliente.setText("");
         } 
        }

1 Resposta

T

onde:

conexaoPagamento.conecta();  
        conexaoPagamento.executeSQL("select * from pagamento where nome like = " + jTextFieldCliente.getText());  
        conexaoPagamento.resultset.first();     
        String igual = "n";     
          while(igual.equals("n"))  
         {     
             if( conexaoPagamento.resultset.getString("nome").equals(jTextFieldCliente.getText()))         
              {                 
               igual = "s";       
             }     
            else   
             conexaoPagamento.resultset.next();     
        }    
      
        tabelaPagamento.addRow(new Object[]{conexaoPagamento.resultset.getString("nvenda"), conexaoPagamento.resultset.getString("nome"), conexaoPagamento.resultset.getString("data"), conexaoPagamento.resultset.getString("valor"), conexaoPagamento.resultset.getString("vencimento"), conexaoPagamento.resultset.getString("pagamento")});

pode ser algo do tipo:

conexaoPagamento.conecta();  
        conexaoPagamento.executeSQL("select * from pagamento where nome like = " + jTextFieldCliente.getText());  
        while(conexaoPagamento.resultset.next()){     
             if( conexaoPagamento.resultset.getString("nome").equals(jTextFieldCliente.getText())) 
                     tabelaPagamento.addRow(new Object[]{conexaoPagamento.resultset.getString("nvenda"), conexaoPagamento.resultset.getString("nome"), conexaoPagamento.resultset.getString("data"), conexaoPagamento.resultset.getString("valor"), conexaoPagamento.resultset.getString("vencimento"), conexaoPagamento.resultset.getString("pagamento")});
        }
.. 
}finally{
 conexaoPagamento.close();
}

parece que no seu cod vc só esta interando com o primeiro resultado

conexaoPagamento.resultset.first();

outro detale, se vc esta buscando um like pq tem que comparar com a string exata ?? :?
outro detale, se vc digitar %%% na sua caixa de texto vai trazer tudo do banco … pode dar problema :?
espero ter ajudado

Criado 12 de março de 2013
Ultima resposta 12 de mar. de 2013
Respostas 1
Participantes 2