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{
???????????????????????????????????????????
}
mgarcia
Outubro 29, 2008, 6:41am
#2
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
jwalker
Outubro 29, 2008, 7:05am
#4
Bom dia,
if ( rs.next() ){
......
do{
.......
while(rs.next())
}else{
.....
}
Espero que ajude, abraços!
ricoldi
Outubro 29, 2008, 7:44am
#6
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
}
ngduran
Outubro 29, 2008, 8:49am
#9
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.
thingol
Outubro 29, 2008, 9:16am
#11
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