O que você faz é o que deve ser feito (if … { } else { }).
É o mais rápido, já que a informação que você precisa não é a contagem de linhas, mas só saber se achou ou não.
F
fabim
e isso q vc fez mesmo…
ja tentei fazer (rs != null), mas nao da pq segundo a documentacao o retorno do RS e (never null)…
J
julianostr
Se você fez
e ainda tá dando erro de NullPointerException, é por que o problema é outro, não nessa condição aí. Alguma variável inicializada com null não recebeu nenhum outro valor e ao tentar referenciar algum método, por exemplo, explodiu-se.
Coloque tudo isso num try/catch e no catch coloque um printStacktrace.
K
karen_barbatto
posta um trecho do seu código para gente entender sua pergunta com mais facilidade
M
Marck
Olá.
Acho que o erro e em outra parte mesmo. Pois se o ResultSet nao encontrar resultado ele mostra erro no Exception. Lá vc pode personalizar uma infomaçao de nao encontrado com um JOptionPane.
espero ter ajudado,
Marck
I
igor.cardoso
Olá pessoal, reaproveitando a pergunta, preciso saber se o rs encontrou algo no banco.
seria algo do tipo rs.length() ou rs.size() porem ele não tem nenhum desses metodos.
como faria para saber se o rs retornou alguma linha?.
N linha do next vc esta validando se existem alguem la dentro do rs. ou seja existe um prixomo? pois ele nunca volta null sempre existe algo no retorno de um rs creio que sejam as informações para o metadata mas isso foje, então ai depois de validar se existe algo volte para a 1º posição com o previus e imprima na tela caso ele entre no else e pq nao veio nada do banco.
B
Bruno_Laturner
if (rs.next())
// retornou algo
else
// nada retornado
T
TeiTei
Bruno Laturner:
if (rs.next())
// retornou algo
else
// nada retornado
desta forma ele estaria dando um next() no rs e perderia o 1º registro ele deve voltar com o previus…especificação do JDBC 2.0 resultset rolaveis
B
Bruno_Laturner
TeiTei:
Bruno Laturner:
if(rs.next())//retornoualgoelse//nadaretornado
desta forma ele estaria dando um next() no rs e perderia o 1º registro ele deve voltar com o previus....especificação do JDBC 2.0 resultset rolaveis
É meio estranho checar se existe primeiro para depois obter.
Geralmente eu já executo trazendo os resultados:
Se quiser mesmo ver quantos tem p/ depois executar, então só com esse tipo que você falou, e executando um beforeFirst()
Para saber o número de resultados retornados, tente
rs.last();
numero = rs.getRow();
Mesmo caso de antes, precisa do beforeFirst() se quiser obter algo depois.
S
s4nchez
Pra verificar se um usuário existe, se você está usando “count” no seu select, ele vai sempre retornar alguma coisa. Se não tá usando, talvez devesse.
N linha do next vc esta validando se existem alguem la dentro do rs. ou seja existe um prixomo? pois ele nunca volta null sempre existe algo no retorno de um rs creio que sejam as informações para o metadata mas isso foje, então ai depois de validar se existe algo volte para a 1º posição com o previus e imprima na tela caso ele entre no else e pq nao veio nada do banco.
Fala pessoal, obrigado pela ajuda, era meio logico o else, mas não tinha observado isso,
enfim, se retornar algo da consulta, ele executa os get, senão, ja vai para o else.