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

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{ ??????????????????????????????????????????? }

cria um boolean pra fazer a verificação

boolean b = false;

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

if(b==true){
//entrou
}
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

Bom dia,

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

}else{

   .....
}

Espero que ajude, abraços!

legal,

valeu galera !

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

[quote=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
[/quote]

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

//Daniel

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 }

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…

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.

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.

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