PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → [RESOLVIDO] Capturar Erro da Transaction/Transação
[RESOLVIDO] Capturar Erro da Transaction/Transação
Iniciado por Willian Fernando, dez., 08 2015 2:16 PM - Sem resposta
Membro registado
123 mensagems
Popularité : +46 (46 votes)
Publicado em dezembro, 08 2015 - 2:16 PM
Em determinado momento abrimos uma TRANSACTION para fazer inclusão, eliminação ou alteração com solidez.
Pois bem si por A ou B motivos ocorre um erro devemos mostrar ou trabalhar com ele mais tem que ter cuidado em um ponto não menos importante, a captura do erro deve ser feita antes de fazer um ROLLBACK na transação.

Vamos ao exemplo.
HTransactionStart(conn_mysql) //Aqui Iniciamos a transaction (BEGIN)
//Abrimos EXEPTION Para Evitar Erro Fatal
WHEN EXCEPTION IN //Vamos fazer a tentativa de Salvar o Registro
HSave(MINHA_TABELA)//Salvamos
HTransactionEnd(conn_mysql)//Fechamos a transaction (COMMIT)
RESULT True //Como este trecho de código está em uma função retorna verdadeiro(true) ou Falso (false)
DO //Algo Fallou na Base de Dados
s_msj_erro is string //Variavel para Capturar o Erro
s_msj_erro = “Oops Ocorreu um Erro na Base de Dados” + CR + HErrorInfo() //Capturamos o Erro
HTransactionCancel(conn_mysql)//E ai finalmente podemos cancelar a transaction (ROLLBACK)
RESULT False //Retorno False
END


--
Atte. Willian Fernando