Foros del Web » Programación para mayores de 30 ;) » .NET »

Transacciones

Estas en el tema de Transacciones en el foro de .NET en Foros del Web. Me gustaria que si la segunda sql me da fallo que la primera no se ejecute por eso estoy usando transacciones. Pero me gustaria saber ...
  #1 (permalink)  
Antiguo 24/05/2005, 05:31
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años, 10 meses
Puntos: 1
Transacciones

Me gustaria que si la segunda sql me da fallo que la primera no se ejecute por eso estoy usando transacciones. Pero me gustaria saber si estan bien usadas xq lo que hago es crear 2 sqltransaccion y asi le digo el orden en que se ejecutan.

Es eso correcto????

gracias.
  #2 (permalink)  
Antiguo 24/05/2005, 08:05
wok
 
Fecha de Ingreso: abril-2005
Mensajes: 37
Antigüedad: 19 años, 10 meses
Puntos: 0
porque 2?
no hace falta, el manejo de errores de SQL Server es una porquería... lo que yo hago es esto.
inicia la transacción una sola vez.
con 2 transact supongo que queres decir que haces 2 operaciones, (update, insert, etc)

entonces seria:

BEGIN TRANSACTION

/* ACA ADENTRO HACE TODAS LAS OPERACIONES QUE QUIERAS, UPDATE,
INSERT, DELETE, PERO LUEGO DE CADA UNA DE ELLAS PONES ESTA LINEA

SELECT @LastError=@@ERROR
IF @LastError != 0 GOTO HANDLE_ERROR

Y LUEGO SIGUES HACIENDO LAS OTRAS OPERACIONES.
ENTONCES, SI ESA OPERACION SALIO MAL, VAS A HANDLE_ERROR Y HACES UN ROLLBACK O SEA, O SALE TODO BIEN, O NO HACE NADA*/


COMMIT TRAN
GOTO SALIR

HANDLE_ERROR:
ROLLBACK TRAN
SELECT @LastError
SALIR:
  #3 (permalink)  
Antiguo 24/05/2005, 08:32
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
Yo lo que hago es usar store procedures donde coloco mis insert, update, etc para hacer la transaccion y desde código hacer el commit o rollback

Ejemplo:

Cita:
...
...
SqlTransaction trans;
oConn.Open();
trans = oConn.BeginTransaction();
try
{
SqlHelper.ExecuteNonQuery(trans,
CommandType.StoredProcedure,
"MySP",
arParameter);
trans.Commit();

}
catch (Exception ex)
{
trans.Rollback();
}
Y con ello me aseguro que todas las operaciones que realice en mi SP se ejecuten.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:33.