none
Obtener error de una transaccion dentro de un StoreProcedure en VB .net RRS feed

  • Pregunta

  • Que ta, estoy desarrollando una aplicacion en vb .net 2008 y  sql server 2008. En el sql server hago store Procedures con transacciones dentro de ellos y en VB los mado a llamar, el SP se ejecuta bien si hay algun error no guarda y si no lo hay guarda, pero el problema es que cuando hay algun error simplemente no hace nada y me gustaria saber si hay manera que en VB me apareciera el mensaje de error de la tranaccion que esta dentro del SP, si alguien puede ayudarme les estare muy agradecido
    • Cambiado Enrique M. Montejo sábado, 23 de junio de 2012 15:51 acceso a datos (De:Lenguaje VB.NET)
    jueves, 30 de septiembre de 2010 15:53

Todas las respuestas

  • hola

    porque es que defineas las transacciones dentro del SP, no creo que sea buena idea, porque no defines estas en tu codigo, usando el TransactionScope

    esta es muy simple de suar, lo veras en el ejemplo del link

    el SP se ejecuta bien si hay algun error no guarda

    que el SP no guarde nada no quier decir que tenga un error, los herrores imprevistos seros los podras atrapar con el SqlExeption

    los del negocio podrias validarlos mediante el ,return de un valor del SP, o sea este podrias definir un parametro del tipo OUTPUT y caundo sale indicar el codigo que necesites de error, pero es algo que tu SP asigna al parametro de salida, no se genera automaticamente, porque para el SP la ejecucion fue correcta solo que por algun motivo no actualizo nada, ya sea por los datos enviados o la logica del SP

    a donde apunto es que el SP puede no actualizar, pero esto no imlica un error para el SP, este se eejcuta bien, tu eres quien despues de insertar validad si se realizo correctamente, si lo necesitas por supuesto.

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 30 de septiembre de 2010 16:55
  • Gacias por la respuesta Leandro, tienes razon ya con calma revice mi SP lo que mecionas de un parametro tipo OUTPUT es lo que necesito, no me di a entender bien lo que en realidad deseo es que si por ejemplo una transaccion entra en el catch  me mande el error por lo que no se completo la transaccion.

     

    Respecto al por que no usarlo en el codigo mediante TransactioScope, en una ocacion un maesrto nos dijo que no hay nada como ejecutar lo que podamos en el servidor de SQL, a desir verdad no se si esto sea cierto.

     

    investigare lo que mencionas del parametro tipo OUTPUT haver si logro que en esa variable me muestre lo que deseo y mostrarlo en un messagebox en la aplicacion de windows. De todos modos cualquier otra ayuda es vienvenida. GRacias

    jueves, 30 de septiembre de 2010 17:03
  • lo que en realidad deseo es que si por ejemplo una transaccion entra en el catch  me mande el error por lo que no se completo la transaccion

    alli aplicas la misma tecnica, tomas el catch dentro del SP, y en el parametro de output pones la info del error

    en tu codigo deberas validar que este output no tenga info para dar por valida la operacion

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 30 de septiembre de 2010 17:20