Como Utilizar sqltransaction de sql.sqlcliente?

30/08/2005 - 11:30 por Benjamin | Informe spam
Estoy trabajndo con la beta 2 del visualnet 2005, y estoy intentado ahcerme
con la mecanica del "sqltransaction", pero no veo como generar varias
transacciones y luego validarlas(commit) o no (rollback), es decir, crear
una transacion, y luego, por ejemplo, desde un boton cancelar o no.
Otra cosa que me gustaria sabes es si despues de un comit se puede hacer un
rollback al estilo del oracle.
Muchas gracias.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
30/08/2005 - 12:50 | Informe spam
"Benjamin" wrote in message
news:%
Estoy trabajndo con la beta 2 del visualnet 2005, y estoy intentado


ahcerme
con la mecanica del "sqltransaction", pero no veo como generar varias
transacciones y luego validarlas(commit) o no (rollback), es decir, crear
una transacion, y luego, por ejemplo, desde un boton cancelar o no.



Es una pésima idea poner un botón cancelar para hacer un rollback de una
transaccion. Mientras la transacción está abierta, va poniendo bloqueos en
la base de datos, y esos bloqueos se mantienen activos hasta que se hace el
commit o rollback. Por este motivo, las transacciones se deben siempre
mantener breves, y nunca esperar una acción del usuario en medio de una
transacción. De lo contrario te cargas por completo la funcionalidad de la
aplicación si es multipuesto, porque dejas bloqueado cualquier otro puesto
que intente leer un registro que esté afectado por la transacción inacabada.
Respuesta Responder a este mensaje
#2 Benjamin
30/08/2005 - 17:03 | Informe spam
Gracias por tu consejo, lo tendere en cuenta, pero si pudieras decirmo como
manejarlas, con saber como englobar una serie de instruciones en un
atransaccion, pro que no se si asignas la conexion a la transacion o se
utilliza un bloque como bigin ... end. he estado buscando informacion pero
no me queda claro.

muchas gracias
Respuesta Responder a este mensaje
#3 A.Poblacion
30/08/2005 - 22:41 | Informe spam
"Benjamin" wrote in message
news:
Gracias por tu consejo, lo tendere en cuenta, pero si pudieras decirmo


como
manejarlas, con saber como englobar una serie de instruciones en un
atransaccion, pro que no se si asignas la conexion a la transacion o se
utilliza un bloque como bigin ... end. he estado buscando informacion pero
no me queda claro.



Vamos a ver, te cuento como va en el VS2003, pero no sé si habrá
cambiado algo en el 2005.

La transacción se saca de la conexión:

Dim cn as New SqlConnection()
Dim tran as SqlTransaction = cn.BeginTransaction()

Una vez que tienes el objeto transaction, se le asigna a todos los
objetos command que vayan a pertenecer a la transacción:

Dim cmd as New SqlCommand(sentencia, cn)
cmd.Transaction = tran
cmd.ExecuteNonQuery() 'Por Ejemplo

Dim cmd2 as New SqlCommand(sentencia2, cn)
cmd2.Transaction = tran
cmd2.ExecuteNonQuery()

Cuando la transacción está completa, se ejecuta su método Commit o
RollBack:

tran.Commit()
cn.Close()
Respuesta Responder a este mensaje
#4 Benjamin
31/08/2005 - 19:06 | Informe spam
muchas gracias, lo pruebo y te cuento si tira en vb2005
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida