Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2013, 03:58
maialenlopez
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Exclamación Ya hay un Datareader abierto a este command, debe cerrarlo primero

Hola;
Estoy ejecutando lo siguiente y me da este error: Ya hay un DataReader asociado a este command, debe cerrarlo primero. Me podéis echar una mano? no se lo que estoy haciendo mal ni se como cerrar el DataReader.
Código vb.net:
Ver original
  1. Protected Sub eliminarDatos(ByRef ident As String)
  2.         Dim conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("conexion").ConnectionString)
  3.  
  4.         Dim comm1 As SqlCommand = New SqlCommand("DELETE FROM dbo.temp_datosGuardados WHERE id_identificador = @id_identificador", conn)
  5.         Dim reader1 As SqlDataReader
  6.         Dim mytrans As SqlTransaction
  7.  
  8.         Try
  9.             With comm1
  10.                 .CommandType = CommandType.Text
  11.                 .Parameters.AddWithValue("id_identificador", ident)
  12.             End With
  13.  
  14.             Using conn
  15.  
  16.                 conn.Open()
  17.                 mytrans = conn.BeginTransaction()
  18.  
  19.                 Try
  20.                     With comm1
  21.                         .Transaction = mytrans
  22.                         reader1 = .ExecuteReader()
  23.                         While reader1.Read()
  24.                             .ExecuteNonQuery()
  25.                             .Dispose()
  26.                         End While
  27.                         mytrans.Commit()
  28.                     End With
  29.                 Catch ex As Exception
  30.  
  31.                     mytrans.Rollback()
  32.                     MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  33.                     'mensaje("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  34.                 End Try
  35.             End Using
  36.  
  37.         Catch ex As Exception
  38.  
  39.             MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  40.             'mensaje("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  41.         Finally
  42.             conn.Close()
  43.             conn.Dispose()
  44.         End Try
  45.     End Sub
__________________
Gracias por todo;

Un saludo