Tengo una duda. Yo estoy trabajando con Begin Transaction, commit y rollback para una operación que estoy realizando:
Lo manejo de la siguiente forma:
Código:
Dim cnn As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationSettings.AppSettings.Get("cnn").ToString)
Dim myTrans As SqlClient.SqlTransaction
Dim myCommand As SqlClient.SqlCommand = cnn.CreateCommand
If cnn.State = ConnectionState.Closed Then cnn.Open()
myTrans = cnn.BeginTransaction
myCommand.Connection = cnn
myCommand.Transaction = myTrans
myCommand.CommandText = "Comando Insert, Update o Delete"
myCommand.ExecuteNonQuery()
myCommand.CommandText = "Comando Insert, Update o Delete"
myCommand.ExecuteNonQuery()
Y para yo poder realizar un Select, hago lo siguiente:
Código:
Dim dsDataSet as DataSet = New DataSet
daDataAdapter = New SqlClient.SqlDataAdapter("Select * from Tabla", ConfigurationSettings.AppSettings.Get("cnn").ToString)
daDataAdapter.Fill(dsDataSet)
Todo bien hasta ahí. El problema está cuando realizo un select a una tabla la cual haya sido modificada y esté con un BiginTrasaction. Siempre me da TimeOut y el select no termina ya que posee un BeginTransaction iniciada. Necesto hacer el SELECT utilizando la variable MyCommand para que esté dentro de la transacción iniciada en la base de datos.
Cómo puedo realizar un select a una tabla dentro de una transacción iniciada y llenar un dataset?