Olá pessoal, outra dúvida pra vocês me ajudarem a sanar…
Seguinte:
primeiro eu executo um select no banco de dados, e jogo o resultado num
resultset.
executo mais um select em outro banco de dados, e jogo o resultado em
outro resultset.
executo mais um select em outro banco de dados, e jogo o resultado em
outro resultset.
Tenho 3 resultsets.
Aí começa a brincadeira:
while (primeiroResultSet.next()) {
String dados = primeiroResultSet.getString("nome");
String maisDados = primeiroResultSet.getString("idade");
while (segundoResultSet.next()) {
String dados2 = segundoResultSet.getString("nomePessoa");
if (dados.trim().equals(dados2.trim())) {
while (terceiroResultSet.next()) {
String idade2 = terceiroResultSet.getString("idade");
if (maisDados.trim().equals(idade2.trim())) {
funcaoFazQualquerCoisa(dados, maisDados);
}
}
}
}
}
O que estou fazendo no meu código é mais ou menos isso. Porém o método
funciona de forma eficiente apenas na primeira vez que passa!
Ele faz a consulta no primeiro select, testa o valor de uma de suas string
com o segundo select, e se for igual, testa outro valor
de sua outra string com outro select.
Se no final eu conseguir igualdade com os selects, tenho uma função que
executa algo.
O problema, é que quando ele executa a função funcaoFazQualquerCoisa(),
ele volta pro primeiro while, roda dentro dele até finalizar a
consulta sem ir pro segundo while. Eu não sei por que isso está
acontecendo! Ao meu ver, deveria refazer todo o processo testando valor
por valor do primeiro while com os outros.
Alguém sabe me dizer por que não está acontecendo dessa forma?