Boa tarde!
Pessoal to com o seguinte problema:
Quero recuperar os dados de duas tabelas de um Banco e para isso preciso usar loop’s encadeados. Até aki blz!
Então criei um loop com rsPacote (ResultSet) para recuperar os dados da peimeira tabela… e para cada registro recuperado ee preciso recuperar as viagens correspodentes a esse pacote.
Então criei um segundo loop… qndo cexecuto o codigo olha o que acontece…
Ele le o primeiro registro da tabela de pacotes e faz o loop para pegar as viagens desse pacote. Blz!
Mas qndo ele volta pra ler o segundo registro da tabela de pacotes da erro… tenho uns 3 registros na tabela mas nao vai…
Eu fiz uns testes e percebi que o problema nao ta bem no segundo loop mas sim em usar ResultSet alternadamente… marquei as linhas importantes com comentarios…
Por Favor! Me ajudem… preciso entregar isso ainda hj ! :sad:
…
//-- Cria e insere cada Pacote na enpresa(MultiLista)
qrySQL = “SELECT * FROM tbPacote”;
ResultSet rsPacote = stm.executeQuery(qrySQL); //PRIMEIRA RS
while(rsPacote.next()){ //ERRO “ResultSet is Closed” QNDO FAZ O LOOP
Pacote pct = new Pacote();
pct.setNumero(rsPacote.getInt(“numero”));
pct.setCliente(rsPacote.getString(“cliente”));
empresa.inserirPacote(pct);
qrySQL = "SELECT * FROM tbViagem WHERE numero = "+
rsPacote.getInt("numero");
ResultSet rsViagem = stm.executeQuery(qrySQL); // SEGUNDA RS
while(rsViagem.next()){ // ESSE LOOP VAI NORMAL
Viagem vgm = new Viagem();
vgm.setDestino(rsViagem.getString("destino"));
vgm.setValor(rsViagem.getInt("valor"));
empresa.getAtual().inserirViagem(vgm);
}//while Viagens
}//while Pacotes
//-->
…