Simulei a situação de um erro e mostrei na imagem na seta os dois comandos de deletar um registro e utilizando as rotinas de transação do scriptcase conforme a imagem e o que está acontecendo na seguinte ordem (Banco SQLSERVER):
- sc_begin_trans();
- apagar();
- executa o primeiro delete
- executa o segundo delete (ai gera o erro)
- ai vai para o sc_rollback_trans();
- mostra a mensagem do segundo erro
Ai que está problema, mesmo passando pelo rollback o primeiro registro que foi apagado não é desfeito!
Algum amigo já passou por situação parecida e sabem como solucionar? Tem alguma configuração no sqlserver para ativar ou desativar as transações?