none
Control de errores RRS feed

  • Pregunta

  • Tengo una duda compañeros,
    Actualmente trabajo en VB.NET y SQL

    Si en una función hago varios Insert y Update, y por alguna razón a mitad de la función da un error, quisiera saber si puedo deshacer todo lo que a echo...

    Por ejemplo: Estas haciendo una venta que tiene que comprobar la cantidad de stock, modificarla y realizar el apunte de la venta en otra tabla, el cobro de esa venta en otra.... Si da un error introduciendo el cobro, se introduciría un registro de la venta pero no del cobro... y quisiera poder deshacerlo todo.

    lunes, 20 de febrero de 2017 16:30

Respuestas

  • J.Ramon,

    Basta con enmarcar todos los procesos que realizas como una unidad operacional, es decir como una única transacción, en caso algún proceso produzca un error toda la transacción se revierte (ROLLBACK), el ámbito de la transacción lo define el ámbito de la conexión. Te recomiendo leer el siguiente artículo donde al final se adjunta un ejemplo bastante claro de como utilizar transacciones:

    Transacciones locales



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta J.Ramon martes, 21 de febrero de 2017 9:54
    lunes, 20 de febrero de 2017 16:42

Todas las respuestas

  • J.Ramon,

    Basta con enmarcar todos los procesos que realizas como una unidad operacional, es decir como una única transacción, en caso algún proceso produzca un error toda la transacción se revierte (ROLLBACK), el ámbito de la transacción lo define el ámbito de la conexión. Te recomiendo leer el siguiente artículo donde al final se adjunta un ejemplo bastante claro de como utilizar transacciones:

    Transacciones locales



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta J.Ramon martes, 21 de febrero de 2017 9:54
    lunes, 20 de febrero de 2017 16:42
  • Gracias por la información, parece que está bastante claro.. Solo me queda probarlo!

    Saludos.

    martes, 21 de febrero de 2017 9:55