Problemas com parâmetros pesquisados na base de dados

5 respostas Resolvido
N
Pessoal, preciso de ajuda com relação ao seguinte problema:

Um exemplo simples para vocês entenderem o que acontece.

String StrCompl=S;

if(StringCompl!=S){

método a ser executado.

}

Dessa forma tudo bem. O problema é que preciso que a variável StrCompl receba o valor da base de dados.  noto que mesmo que o valor pesquisado seja=S, o netbeans    StrCompl como sendo diferente de S e executa o método. Tentei também usando o método equals. Uso netbeans e firebird.  Pessoal, por mais que tenho passado tempo aprendendo java, o que também ainda não faz tanto tempo, o que consigo ver é que ainda não sei nada. Agradeço a ajuda de vocês.

5 Respostas

FacaNaCaveira

Fala ai @Nasciment2018, uma duvida que ficou confuso para mim. Qual é a condição real?
1 - Voce deseja que execute o metodo quando StringCompl for igual a “S”
ou
2 - Voce deseja que execute o metodo quando StringCompl for diferente de “S”

Pois se for alternativa 2 ele esta fazendo exatamente isso pois sua condição esta como
if(StringCompl != “S”){

!= //Diferente

Abraços
Max

N

É a 2. Aí entra o meu problema. Se o código está certo, porque que o método é executado mesmo quando o valor pesquisado no bd é S? O problema não existe se coloco manualmente StrCompl=“S”. Se eu não resolver isso, não vou conseguir fazer nada com parâmetros pesquisados no bd e que envolva uma comparação. Fui em propriedades do projeto, mudei a codificação de UTF8 para ISO 8859, tentei com uma nova base de dados do FireBird com Default character set como ISO 8859. Fiz experiências, mas nada resolveu até agora.
O netbeans dá o seguinte retorno:ADVERTÊNCIA: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE

N

O NetBeans dá o seguinte retorno: ADVERTÊNCIA: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE. Não sei se está relacionado e nem qual a solução.

Jonathan_Medeiros
Solucao aceita

Não se compara String com == e !=, para String se usa o método equals.

Exemplo:

if(!StringCompl.equals("S")){
    //método a ser executado.
}
N

Obrigado ao Jonathan e ao Max pela atenção. Eu tinha tentado com equals mas sem sucesso. Com o post do Jonathan fui bater de novo no assunto do equals e acabei descobrindo detalhes que agente não percebe enquanto problemas não aparecem. Seu post me colocou no caminho certo para o que eu precisava. Aprendi mais sobre o equals que parece tão simples mas tem detalhes para nos enrolar quando falta experiência no assunto. Resolvi também tentar com uma variável do tipo integer. Deu certo. Obrigado.

Criado 5 de junho de 2019
Ultima resposta 5 de jun. de 2019
Respostas 5
Participantes 3