[resolvido]if é true mas seu codigo nao é executado
5 respostas
P
paty_trind
oi
tenho um bloco de codigo em q uso varios if’s para pesquisar por varios itens no banco mas independente do q eu coloco nos jtextfields e pesquisa apenas pelo item do primeiro if e mesmo o a condição do if sendo verdadeira ele não executa o bloco de codigo do if
=[
ah este evento esta na acao de um botao
tipo no console fica assim quando eu pesquiso pelo primeiro if
t1 9 t0 t2 . . - t3
select nome,cpf,matricula from aluno where Id='9'
true
O resultado.next() avança o cursor uma linha. Como o teu SQL só tem um resultado, no print, avança para a primeira linha e devolve true. No if vai avançar outra linha (que não existe e chega ao fim) e assim devolve false.
P
paty_trind
oi pmlm!
hmm agora entendi pq nao esta executando o bloco de codigo do if…
:oops: :oops:
mas tu poderias me explicar como faço para usar o resultado da pesq. entao?
tipo a linha q for verdadeira??eu tiro o print?
obg
ganondorfan
Bom, você ta usando um “System.out.println(resultado.next())” isso não só imprime ele, como faz o ponteiro andar pra frente no seu ResultSet, ou seja, quando vc aciona ele novamente dentro da logica do “if” ele vai estar um passo adiante, e como eu percebi, você ta fazendo um select por “ID” ou seja, provavelmente se você obter algo, sera um só resultado.
Outro detalhe que me chamou atenção nos seus IF’s, um JTextField caso o proprio campo não seha nulo sempre te retorna uma String vazia ("") ou seja, em vez de comparar com:
Outra dica importante, é utilizar o PreparedStatement em vez do Statement e converter o valor do ID de String para um Inteiro que é o formato o qual provavelmente se encontra no seu Banco de Dados.
[]'s
P
paty_trind
obrigada pmlm!!!
era so tirar os print’s mesmo!!
muito obrigada!!!