Problemas com rs.getString()

6 respostas
tandrade

Pessoal,

Estou com um problema no código abaixo, não consigo realizar a comparação entre a String oriunda da busca e com a palavra que eu quero, ex.: “EB”.
A busca está sendo realizada corretamente, pois consigo ler a variável nome, só n consigo comparar com outra coisa para poder trabalhar com as condições. Alguém poderia ajudar?

Segue:

while(rs.next()){
                String nome = rs.getString("PROV");
                if(nome == "EB"){
                    cont++;
                }
                if(nome == "TL"){
                    cont1++;
                }
            }

Muito Grato!

6 Respostas

crpablo

Tentou invés de ==, utilizar o .equals?

while(rs.next()){ String nome = rs.getString("PROV"); if(nome.equals("EB")){ cont++; } if(nome.equals("TL")){ cont1++; } }

tandrade

deu certo!! =)

Muito Obrigado Pablo!

G

Para comparar uma String vc pode utilizar

nomeString.equals(valorComparado)

ou ignorando o sensitive case

nomeString.equalsIgnoreCase(valorComparado)

O == é apenas para valores númericos e booleanos

crpablo

Blz!!!

Abraço!!!

yorgan

Olá,
Acho que a resposta acima deve resolver o seu problema, mas pelo que entendi, você fez um contador, certo?
Então não seria mais facil fazer com que o select já retornasse o valor da contagem?
Algo como:

SELECT count(*) as contador FROM sua_tabela WHERE etc...

e no resultset pegar só o valor

int contador = rs.getInt(contador);

Abraço

T

Imprima isto, ponha em um quadrinho, decore, escreva na palma da mão, etc:

http://www.guj.com.br/posts/list/81628.java#434727

Supondo que s1 e s2 sejam strings != null:

s1 = s2 --> s1.equals (s2)

s1  s2 --> ! s1.equals(s2)

s1 < s2 --> s1.compareTo(s2) < 0

s1 > s2 --> s1.compareTo(s2) > 0

s1  s2 --> s1.compareTo(s2) <= 0

s1  s2 --> s1.compareTo(s2) >= 0

Supondo agora que você queira comparar as strings, mas não considerando a diferença entre minúsculas e maiúsculas:

s1 = s2 --> s1.equalsIgnoreCase (s2)

s1  s2 --> ! s1.equalsIgnoreCase(s2)

s1 < s2 --> s1.compareToIgnoreCase(s2) < 0

s1 > s2 --> s1.compareToIgnoreCase(s2) > 0

s1  s2 --> s1.compareToIgnoreCase(s2) <= 0

s1  s2 --> s1.compareToIgnoreCase(s2) >= 0
Criado 13 de fevereiro de 2008
Ultima resposta 13 de fev. de 2008
Respostas 6
Participantes 5