dark123  
          
              
                Setembro 4, 2008, 10:18am
               
              #1 
           
         
        
          Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
Deem uma olhada no trecho que faz o select:
[code]    Statement st;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT  t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
         JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
         "Erro", JOptionPane.ERROR_MESSAGE);
     }[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.
         
        
           
         
            
       
      
        
        
          [quote=dark123]Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
Deem uma olhada no trecho que faz o select:
[code]    Statement st;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT  t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
         JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
         "Erro", JOptionPane.ERROR_MESSAGE);
     }[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.[/quote]
Ja tentou criar uma Lista e depois dar um new no seu comboBox passando essa lista como parametro
         
        
           
         
            
       
      
        
          
          
            pango  
          
              
                Setembro 4, 2008, 11:37am
               
              #3 
           
         
        
          [quote=dark123]Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
Deem uma olhada no trecho que faz o select:
[code]    Statement st;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT  t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
         JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
         "Erro", JOptionPane.ERROR_MESSAGE);
     }[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.[/quote]
Em vez de
rs.next();
boxCod.addItem(rs.getString("codGado"));faça
while (rs.next()){
    boxCod.addItem(rs.getString("codGado"));
}dessa forma, você vai iterar por todos os seus registros. Do jeito que você está fazendo, só está recuperando o primeiro registro…
         
        
           
         
            
       
      
        
        
          jogue todos os retornos da consulta em um vetor de string “String vetor[]” depois adicione este vetor no combo!
         
        
           
         
            
       
      
        
          
          
            pango  
          
              
                Setembro 4, 2008,  3:11pm
               
              #5 
           
         
        
          Pessoal,
Só um lembrete: pelo código que o dark123  postou, o problema é que ele não está sabendo iterar pelo ResultSet. As sugestões para criar uma lista ou um vetor com os resultados, apesar de bem intencionadas, não vão resolver o problema dele. Para criar uma lista ou vetor, ele tem  que iterar pelo ResultSet.
         
        
           
         
            
       
      
        
          
          
            dark123  
          
              
                Setembro 4, 2008,  4:17pm
               
              #6 
           
         
        
          [quote=pango][quote=dark123]Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
Deem uma olhada no trecho que faz o select:
[code]    Statement st;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT  t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
         JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
         "Erro", JOptionPane.ERROR_MESSAGE);
     }[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.[/quote]
Em vez de
rs.next();
boxCod.addItem(rs.getString("codGado"));faça
while (rs.next()){
    boxCod.addItem(rs.getString("codGado"));
}dessa forma, você vai iterar por todos os seus registros. Do jeito que você está fazendo, só está recuperando o primeiro registro…
Haha, com o while deu certo, nossa eu tinha me esquecido disso, ôh cabeça…
Obrigado pango, como você mesmo disse, neste caso, as sugestões para criar uma lista
Abraços a todos que postaram.
Até +