GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Bad operand types for binary operator '>'

java
programação
java7
Tags: #<Tag:0x00007fbf1db3f158> #<Tag:0x00007fbf1db3eff0> #<Tag:0x00007fbf1db3ee10>

#1

Estou desenvolvendo uma aplicação java para desktop em que pego todos os registros do banco de dados de acordo com nome e se houver mais de um 1 registro igual ao nome informado, eu pego os dados e retornaria em um DefaultTableModel mas ao fazer a condição de rs.next()>2 acontece esse erro. bad operand types for binary operator '>'

public DefaultTableModel pesquisaVisitasMaisDeUmResultado(String nome){
  
     Visitas visi= new Visitas();
    
     try {
        con = Conecta.conexao();
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(EntradaMaquinaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
     
     DefaultTableModel modelo;

 String [] titulos = {"Defeito","data entrada","Data saida","Hora de entrada","Hora de Saida","Horas Trabalhadas","Word","Excel","Power","Outlook","Visitas"};

String [] registro = new String[11];

modelo= new DefaultTableModel(null,titulos);
     
    
    if(!"".equals(nome)){
        
       try{
     String sql="SELECT vi_cod, cha_nome,vi_dataentra,vi_datasaida,vi_defeito,vi_horainicio,vi_horafinal,vi_horastrabalhadas, vi_word, vi_excel,vi_power,vi_qtde, vi_outlook FROM tb_visitas where cha_nome like  '%" + nome +"%'";
           
      Statement statement = con.createStatement();     
     
  ResultSet rs = statement.executeQuery(sql);    
      
        if(rs.next()>1){
            
            
              registro [0]=rs.getString("vi_defeito");
           registro [1]=rs.getString("vi_dataentra");
            registro [2]=rs.getString("vi_datasaida");
            registro [3]=rs.getString("vi_horainicio");
            registro [4]=rs.getString("vi_horafinal");
           registro [5]=rs.getString("vi_horastrabalhadas");
            registro [6]=rs.getString("vi_word");
            registro [7]=rs.getString("vi_excel");
            registro [8]=rs.getString("vi_power");
          registro [9]=rs.getString("vi_outlook");
          registro [10]=rs.getString("vi_qtde");
          
     modelo.addRow(registro);

        }
         else{
        pesquisaVisitas(nome);
        }
        
        return modelo;
    }catch(SQLException ex){
        JOptionPane.showMessageDialog(null, " erro" +  ex);
    } 
    } else{
        JOptionPane.showMessageDialog(null, "Não há visitas para a pesquisa! \nTente novamente...");
    }

#2

Você não pode fazer isso: if(rs.next()>1){, pois o método next retorna um boolean. Mude para: if(rs.next()), se o resultSet tiver registro para ser lido, esse método retornará true.

Fonte:ResultSet#next()


#3

mas eu gostaria de retorna se houver mais de um registro como posso fazer ?