[RESOLVIDO] ResultSet, Controle de transação e Loop - Erro de ResultSet closed

Olá a todos,

Estou com o seguinte erro: [quote]Operation not allowed after ResultSet closed[/quote]

Eu sei o que isso significa, que não é permitido fazer operações após o ResultSet ser fechado.

OBS: TODAS AS CONEXÕES DEVEM SER COM CONTROLE DE TRANSAÇÃO

No meu código eu faço o seguinte.
Faço um loop onde percorro o que tenho no meu banco externo (conxão 1), se for para inserir eu abro outra conexão com o banco local (conexão 2) e busco o que tem nele, ai faço um loop nos retornos, ai a cada loop no retorno eu já havia aberto outra conexão com banco local (conexão 3), ai faço um update.

Certo aqui vai meu código:

while(...){ .... .... // Alterando no banco local SQLAltera = "SELECT a.id_pedido, a.nr_sequencial " + " FROM tb_pedido a " + " WHERE a.id_pedido >= '"+ resultado.getString("id_pedido") +"' " + " ORDER BY a.id_pedido DESC"; ResultSet resultadoAltera = conexaoLocalB.getStatement().executeQuery(SQLAltera); while(resultadoAltera.next()) { String SQLTemp = "UPDATE tb_pedido " + " SET id_pedido = '"+ (resultadoAltera.getInt("id_pedido") + 1) +"', " + " nr_sequencial = '"+ (resultadoAltera.getInt("nr_sequencial") + 1) +"' " + " WHERE id_pedido = '"+ resultadoAltera.getString("id_pedido") +"' "; conexaoLocalB.getStatement().executeUpdate(SQLTemp); } }

SE eu usar da forma acima da o erro que lhe falei, erro de ResultSet fechado, POREM SE eu fazer com essa linha

conexaoLocalC.getStatement().executeUpdate(SQLTemp);

Ele da erro de Duplicate Entry Key, pois na busca da conexão B ele acha X itens, e na do C, ele não acha, ai vai dar update da pau.

Como posso resolver isso?

EU SOU UM VERME!!!

Parei e analisei, poderia fazer só com uma SQL, ai procurei sobre ORDER BY em SQL, nunca tinha feito fui ver sobre isso, achei este link, até o título diz tudo!!!
http://www.mysql.com/news-and-events/newsletter/2003-09/a0000000224.html