Talvez esteja falando besteira, mas o retorno tanto request.getParameter() geralmente é um Object. Logo, dificilmente ele seria igual a uma String. Sugiro que faça como o rapaz acima disse e receba o valor numa variável e depois faça a comparação.
eu fiz oque você falou coloquei o if (“cres”.equals(request.getParameter(“orde”))
só que ai da erro no meu ResultSet que ja esta fora por sinal e no caso dele vir null ja esta tratado no if o caso é se ele não vier null
eu dei o out.printl nele a primeira vez veio null se eu acessar ele vem cres eu não sei qual o problema mais é na comparação creio eu
[quote=locuradk]eu fiz oque você falou coloquei o if (“cres”.equals(request.getParameter(“orde”))
só que ai da erro no meu ResultSet que ja esta fora por sinal e no caso dele vir null ja esta tratado no if o caso é se ele não vier null
eu dei o out.printl nele a primeira vez veio null se eu acessar ele vem cres eu não sei qual o problema mais é na comparação creio eu
[/quote]
Coloque aqui o StackTrace.
Obs:
A minha dica foi só para evitar um possível NullPointerException. O que eu quis dizer é que você deveria SEMPRE usar o equals do objeto constante 8)
ae galera consegui !
eu não percebi que o else estava igual o if testando se é diferente de null oque no caso ia ser sempre diferente e nunca ia entrar no else
Obrigado a todos.
código arrumado
[quote=locuradk]eu fiz oque você falou coloquei o if (“cres”.equals(request.getParameter(“orde”))
só que ai da erro no meu ResultSet que ja esta fora por sinal e no caso dele vir null ja esta tratado no if o caso é se ele não vier null
eu dei o out.printl nele a primeira vez veio null se eu acessar ele vem cres eu não sei qual o problema mais é na comparação creio eu
[/quote]
Sinceramente, o erro não deve ser da comparação.
Eu sugiro que você faça como indiquei, instancie uma variável temporária e obtenha o valor do parâmetro
E, se preferir, faça um System.out.println(“cres”.equals(ordem)), caso tenha um true, o trecho dentro do else if deve ser executado, caso contrário, o valor que vem no request é:
null
Diferente de “cres” por possuir:
Algum caractere em maiúsculo - neste caso, um “cres”.equalsIgnoreCase(ordem) resolve.
if(request.getParameter("orde")!= null)
{
rs= st.executeQuery("select * from login ");
}
else if (request.getParameter("orde").equals("cres"))
{
rs = st.executeQuery("select * from login order by login");
}
Como no primeiro if você verifica se request.getParameter(“orde”) é diferente de null, ele só entrará no else se for null, ou seja, nunca será igual a “cres”.
Você pode tentar primeiro verificar se é igual a “cres” e depois ver se é diferente de null:
if (request.getParameter("orde").equals("cres"))
{
rs = st.executeQuery("select * from login order by login");
}
else if(request.getParameter("orde")!= null)
{
rs= st.executeQuery("select * from login ");
}
[quote=Sem_Nome][quote=locuradk]eu fiz oque você falou coloquei o if (“cres”.equals(request.getParameter(“orde”))
só que ai da erro no meu ResultSet que ja esta fora por sinal e no caso dele vir null ja esta tratado no if o caso é se ele não vier null
eu dei o out.printl nele a primeira vez veio null se eu acessar ele vem cres eu não sei qual o problema mais é na comparação creio eu
[/quote]
Coloque aqui o StackTrace.
Obs:
A minha dica foi só para evitar um possível NullPointerException. O que eu quis dizer é que você deveria SEMPRE usar o equals do objeto constante 8) [/quote]
E é isso mesmo.
Sempre que colocamos da forma como o autor do tópico está fazendo, corremos o risco de um NPE, afinal, o método equals, herdado da classe Object, é chamado.
O correto é fazer como você disse, verificar se algo que se conhece é igual a alguma coisa que vem do usuário, do banco, de outro sistema ou de outra parte do aplicativo. Se essa outra coisa vier nula, ainda será diferente do que nós temos e conhecemos.