Usuario
Obtener error de una transaccion dentro de un StoreProcedure en VB .net

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)
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 -
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
-
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