Transaccion VB .NET
Ejemplo simple de transaccion de BD con una
conexion simple de oleDB.
conexion simple de oleDB.
Private Sub modificar()
Dim conexion As System.Data.OleDb.OleDbConnection
Dim comando As System.Data.OleDb.OleDbCommand
Dim datos As System.Data.OleDb.OleDbDataReader
Dim transaccion As OleDbTransaction
Dim cont As Integer
Dim conString As String
Dim sentencia As String
Dim contador As Integer
Dim listaTMP As DropDownList
cont = 0
contador = 0
'String de conexion para una bd access
conString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source="
& Server.MapPath("Colegio.mdb")
'establecemos la sentencia
sentencia = "update estudiantes set nom_est='" & Request.Params("txtNombre") &
"' , dir_est='" & Request.Params("txtDireccion") & "' , f_n_est='" &
Request.Params("txtFechanacimiento") & "' where exp_est=" & Request.Params("txtExpediente")
'creamos el objeto conexion
conexion = New OleDbConnection(conString)
'todo lo hacemos en un bloque try-catch
Try
Response.Write("Valor seleccionado: " & Request.Params("ddlEmpresa") & "<br>")
Response.Write("Sentencia: " & sentencia & "<br>")
'establecemos conexion
conexion.Open()
Response.Write("OK conexion establecida <br>")
'Creamos el objeto comando
comando = New OleDbCommand(sentencia, conexion)
Response.Write("OK comando creado <br>")
transaccion = conexion.BeginTransaction()
' esto es necesario
comando.Transaction = transaccion
comando.Connection = conexion
'ejecucion de una consulta
contador = comando.ExecuteNonQuery()
Response.Write("OK TRANSACCION COMPLETADA, registros afectados: " & contador & "<br>")
transaccion.Commit()
' en caso de error.. capturamos y mostramos
Catch ex As Exception
Response.Write("Error al acceder a la BD -rollback-<br>" & ex.Message)
transaccion.Rollback()
Finally
'en cualquier caso hacemos esto (mal, sin comprobar)
conexion.Close()
conexion = Nothing
comando = Nothing
End Try
End Sub
pello.io