Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/03/2005, 07:44
Vanessita
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 2 meses
Puntos: 1
Hola otra vez, he probado a ver si mi Reader tiene datos asi como me lo dijo popopo y
efectivamente los tiene, es decir que se está cargando. Ahora bien, les cuento lo siguiente:

mi aplicación la tengo estructurada en tres capas: la de presentación, la de reglas y negocio
y la de acceso a datos, en la capa de acceso a datos tengo una función que devulve un OledbDatareader.
En esta función cargo un reader con una sentencia SQL más o menos así:

Dim MyReader As OledbDataReader
MyReader = MyCommand.ExecuteReader

Bueno y comprobé si tiene datos así:

If MyReader.HasRows Then
Dim Valor As String
While MyReader.Read
Valor = MyReader(0).Tostring
End While
End If

Todo bien, luego esta función retorna el Reader cargado. En la capa de reglas tengo otra función que retorna un
OledbDataReader, pero ahora esta se carga con la función de la clase de acceso a datos. Pero que sorpresa me llevo
cuando me doy cuenta que aqui el Reader no tiene nada. Es por eso que cuando paso este reader a la capa de presentación
en el Web Form el Reader no tiene nada y por eso el DataGrid no se carga.

Es decir, el reader se está cargando bien en la clase de acceso a datos, pero cuando retorno ese reader cargado
a la función de la clase de reglas ya no tiene nada. ¿Será que una función no puede retornar un reader?
Bueno para mi es bastante raro, porque ya he usado esta misma lógica pero con un DataSet y funciona perfecto. Espero
que por favor me puedan ayudar.