![]() |
Intento no válido de FieldCount cuando el lector está cerrado. Hola, Seguro que es un error "de Cajon" como se dice en mi tierra, pero no se a que puede deberse. tengo este codigo, y agradecería "Pistas" Gracias. Sub Page_Load(obj As Object, e As EventArgs) intpadre = Request.Params("padre") If intpadre="" Then intpadre = -1 End If dgFamilias.DataSource = objFamilias.Llenar_Familias(intpadre) DataBind() End Sub y aqui la funcion: Public Function Llenar_Familias(intpadre As String) As OledbDataReader ' Definimos el comando que trae los datos mediante un store procedure llamado spfamilias Dim ObjCmd As New OleDbCommand ("sppadre", ObjConn) ObjCmd.CommandType=CommandType.StoredProcedure Dim ObjParam As OleDbParameter ObjParam = ObjCmd.Parameters.Add("@padre",OleDbType.BStr) ObjParam.Value = intpadre Dim ObjLector As OleDbDataReader TRY ObjConn.Open() objLector = ObjCmd.ExecuteReader Catch ex As OleDbException throw ex Finally ObjConn.Close() End Try Return ObjLector End Function End Class |
Y donde estas definiendo tu objeto connection ?? :pensando: Cita:
|
Cuando se ejecuta: dgFamilias.DataSource = objFamilias.Llenar_Familias(intpadre) El DataReader que devuelves en la función Llenar_Familias, necesita una conexión abierta, pero dentro de esa función la estás cerrando: Finally ObjConn.Close() End Try Deberías cerrar la conexión despues de terminar de utilizar el DataReader. No sé si te sirva o no pero puedes cambiar la parte en que llamas al ExecuteReader por: Try ObjConn.Open() objLector = ObjCmd.ExecuteReader(CommandBehavior.CloseConnecti on) Catch ex As OleDbException throw ex End Try Una observación, en la parte en la que manejas si se produce alguna excepción (catch), me parece que deberías agregar información adicional de la excepción, esto es muy útil para depurar. Saludos |
La zona horaria es GMT -6. Ahora son las 10:19. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.