Pessoal estou querendo fazer um tratamento de consultas vazias no mysql. Eu pego o número do agente e consulto no banco, caso o resultado seja vazio retornar uma mensagem na tela. No código abaixo quando retorna nao vazio ele exibe numero "nao encontrado" e quando retorna vazio não exibe nada.
Pois quando vc entra no while ele roda a query uma vez, e quando ele entra no if roda novamente ai termina os registros…
O problema ainda persiste, quando passo uma informação que tem retorno ele retorna “não encontrado” e quando passo uma informação que não tem retorno não volta nada.
P
Pedro_Ribeiro
Alguém pode me ajudar?
drsmachado
1 - Se a query não encontrar nada, o resultSet não terá next.
Eu colocaria um contador, iniciado em zero. Caso ele entre no loop, incremento esse contador. Ao finalizar, comparo se o contador é zero, se for, retorno o erro “Nenhum número encontrado”. Se não, retorno o que é desejado.
Claro, o contador é um exemplo, se você quer um objeto, pode verificar se ele é nulo, se a lista está com size = 0, etc.
P
Pedro_Ribeiro
Resolvi o problema da seguinte forma:
if(rs.next()){
Stringdestino=rs.getString("destino");jTextField2.setText(agente);jTextField3.setText(destino);}
else{
JOptionPane.showMessageDialog(null,"NUMERO OU AGENTE NÃO ENCONTRADO!");}