Socorro…
A partir do resultado de um select quero fazer três update em tabelas diferentes. Abaixo como está montado a classe.public void excluiPerguntaEResposta(int idPerguntaResp)
throws SQLException, CadastroException {
try {
//Busca id_pergunta_resp na tabela repositorio_pergunta_resp (seleciona pergunta que estão excluidas)
PreparedStatement pstmt = connection.prepareStatement("select id_pergunta_resp from repositorio_pergunta_resp where cd_conteudo = ?");
String id = "P-"+idPerguntaResp;
pstmt.setString(1, id);
ResultSet IdPegResp = pstmt.executeQuery();
while (IdPegResp.next()) {
//update na tabela pergunta_resp setando o status para 6 (marca como excluída)
PreparedStatement pstmt1 = connection.prepareStatement("update pergunta_resp set id_status = 6 where id_pergunta_resp = ?");
pstmt1.setString(1, idPR);
ResultSet UpdateWk = pstmt1.executeQuery();
pstmt1.close();
//update na tabela pergunta_resp setando o status para 6 (marca como excluída)
PreparedStatement pstmt2 = connection.prepareStatement("update repositorio_pergunta_resp set id_status = '6' where id_pergunta_resp = ?");
pstmt2.setString(1, idPR);
ResultSet UpdateRep = pstmt2.executeQuery();
pstmt2.close();
//Busca id_no na tabela no_rep_pergunta_resp (verifica se existe pergunta excluída associada ao tópico)
PreparedStatement pstmt3 = connection.prepareStatement("select id_no from no_rep_pergunta_resp where id_pergunta_resp = ?");
pstmt3.setString(1, idPR);
ResultSet buscaNo = pstmt3.executeQuery();
while (buscaNo.next()){
String idNo = buscaNo.getString("id_no");
update na tabela st_no setando o status para 1 (republica tópico)
PreparedStatement pstmt4 = connection.prepareStatement("update no set st_no = 1 where id_no = ?");
pstmt4.setString(1, idNo);
ResultSet UpdateNo = pstmt4.executeQuery();
pstmt4.close();
pstmt3.close();
}
pstmt.close();
}
}catch(Exception e){
System.out.println(e.getMessage());
}
finally {
connection.commit();
}
}