antes que nada gracias por tomarse la molestia de leer la pregunta
tengo mi base de datos en sqlserver 2005, para hacer un poco mas rapido el codigo y no estas repitiendo el codigo con el que me conecto a la db uso stored procedure y una clase base, tengo mi shared function ejecutar lector
SharedFunction ejecutarlector(ByVal procedure AsString, OptionalByVal param() As SqlParameter = Nothing) As SqlDataReaderDim con AsNew SqlConnectionDim comando AsNew SqlCommandDim lector As SqlDataReaderTry con.ConnectionString = ConfigurationManager.AppSettings("cnn") con.Open() comando.Connection = con comando.CommandType = CommandType.StoredProcedure comando.CommandText = procedureIfNot param IsNothingThenFor cont AsInteger = 0 To param.Length = -1 comando.Parameters.Add(param(cont))NextEndIf lector = comando.ExecuteReaderCatch ex As ExceptionThrowFinally con.Close()EndTryReturn lectorEndFunction
como ven retorno el lector, el cual contiene los datos, anteriormente sin usar la clase para llenar los datos en un textbox por decir usaba textbox.text = lector.item("Campo"), entonses llevar el lector ha una variable del mismo tipo y intentar colocar el contenido en un textbox me manda el error "invalid attempt to read when reader is closed"
estoy intenando llenar de la misma forma
dim datos as SqlDataReader = clase.ejecutarlector("storedprocedure",param)
textbox.text = datos.item("campo")
me las he arreglado para poder llenar los campos con una grilla, pero el proceso es un poco mas largo, alguien sabe o tiene alguna idea de por que me da este error? o si la forma en la que ejecuto el lector esta mal?
un saludo y gracias de antemano