Como saber q ele não entrou no while(rs.next())

11 respostas
R

Existe alguma forma de eu não saber que o loop abaixo não foi executado ?

while(rs.next()) { Agenda agenda = new Agenda(); agenda.setCodigo(rs.getString("codigo")); agenda.setCodaplicativo(rs.getString("codaplicativo")); agenda.setCodusuario(rs.getString("codusuario")); lista_agenda.add (agenda); }

algo do tipo

while(rs.next()) { Agenda agenda = new Agenda(); agenda.setCodigo(rs.getString("codigo")); agenda.setCodaplicativo(rs.getString("codaplicativo")); agenda.setCodusuario(rs.getString("codusuario")); lista_agenda.add (agenda); } else{ ??????????????????????????????????????????? }

11 Respostas

mgarcia

cria um boolean pra fazer a verificação

boolean b = false;

while(rs.next()){
  b = true;
}

if(b==true){
//entrou
}
W
while(rs.next()) {         
    Agenda agenda = new Agenda();     
    agenda.setCodigo(rs.getString("codigo"));  
    agenda.setCodaplicativo(rs.getString("codaplicativo"));  
    agenda.setCodusuario(rs.getString("codusuario"));                
    lista_agenda.add (agenda);     
} else{  
   ???????????????????????????????????  
}

Isso nao existe, else eh so pra if

Nao seria mais facil quando sair do while verificar quantos elementos tem na lista_agenda ??

//Daniel

jwalker

Bom dia,

if ( rs.next()  ){
     ......
    do{
        .......
    while(rs.next())

}else{

   .....
}

Espero que ajude, abraços!

R

legal,

valeu galera !

ricoldi

uaheuaheuhauehauehauehuae, cara o guj me faz passar mal de rir…

if (rs.first()){
        while(rs.next()) {         
            Agenda agenda = new Agenda();     
            agenda.setCodigo(rs.getString("codigo"));  
            agenda.setCodaplicativo(rs.getString("codaplicativo"));  
            agenda.setCodusuario(rs.getString("codusuario"));                
            lista_agenda.add (agenda);     
        }    
    }else{
            System.out.println("Sem elementos no rs");
    }

Pelo amor de Deus nestes códigos… Não sei se é o melhor jeito, mas esses de antes nem comento…

Att
Ricoldi

W

ricoldi:
uaheuaheuhauehauehauehuae, cara o guj me faz passar mal de rir…

if (rs.first()){
        while(rs.next()) {         
            Agenda agenda = new Agenda();     
            agenda.setCodigo(rs.getString("codigo"));  
            agenda.setCodaplicativo(rs.getString("codaplicativo"));  
            agenda.setCodusuario(rs.getString("codusuario"));                
            lista_agenda.add (agenda);     
        }    
    }else{
            System.out.println("Sem elementos no rs");
    }

Pelo amor de Deus nestes códigos… Não sei se é o melhor jeito, mas esses de antes nem comento…

Att
Ricoldi

O rapaz ta comecando.
Respeito mais quem tenta e tem coragem de perguntar do que alguem que acha que sabe tudo.

//Daniel

B

Se o lista_agenda sempre estiver vazio antes da entrada no loop, depois do loop você pode fazer um:

if (lista_agenda.isEmpty()) { // faça o que quiser }

ngduran

Da forma que está ele sempre vai exeutar pelo menos uma vez…
Você poderia verificar se rs não está nulo e depois entrar no laço.

if (rs != null) {

    while(rs.next()) {         
        Agenda agenda = new Agenda();     
        agenda.setCodigo(rs.getString("codigo"));   
        agenda.setCodaplicativo(rs.getString("codaplicativo"));   
        agenda.setCodusuario(rs.getString("codusuario"));                 
        lista_agenda.add (agenda);     
    }     

} else {
      return null;
}

Caso esteja trabalhando com telas ele retorna null ou seja nada.
Caso vc esteja querendo ratrear a execução como se fosse debugando você pode colocar no lugar do return null, um

System.out.println("Não entrou no While...");

Se for uma consulta a um banco de dados que vc esteja fazendo antes do While, vc precisa tratar uma possivel exceção…

peczenyj

verificar se o rs é nulo ou não é outro problema.

o resultset não deveria ser um objeto nulo. se fosse ele lançaria uma nullpointerexception que zoaria qq while da vida, inclusive a aplicação.

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html

o método first deveria bastar.

T

O método tradicional de fazer isso é:

if (rs.next()) {
    do {
        // processar o resultset
    } while (rs.next());
} else {
    // Imprimir "Não há registros!"
}

Não precisa usar “rs.first()” porque mesmo esse método pode dar problemas.

marcosharbs

poe um:

System.out.println("Entrou no while");

dentro do while

pronto se isso for escrito no console vc sabe que ele entrou no while

Criado 29 de outubro de 2008
Ultima resposta 29 de out. de 2008
Respostas 11
Participantes 10