Foros del Web » Programación para mayores de 30 ;) » .NET »

Dataset Intocable???

Estas en el tema de Dataset Intocable??? en el foro de .NET en Foros del Web. Tengo un dataset declarado de esta forma: Código PHP: Public  BaseRecepcion  As New  DataSet  Bueno el asunto es que cuando el formulario se carga utilizo este ...
  #1 (permalink)  
Antiguo 15/08/2005, 23:09
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
Pregunta Dataset Intocable???

Tengo un dataset declarado de esta forma:

Código PHP:
Public BaseRecepcion As New DataSet 
Bueno el asunto es que cuando el formulario se carga utilizo este dataset para sacar mucha informacion de una base, es decir hago como 5 consultas, EJ.:

Código:
 StrSql = ""
            StrSql = " SELECT     IdActualizacion, NumDActividad, FechaCreacion, Paquete, "
            StrSql = StrSql & " Tamaño, Nombre, RutaPaquete, Desarrollador, IdSolucion"
            StrSql = StrSql & " FROM Actualizacion"
            StrSql = StrSql & " WHERE     (IdActualizacion = ANY"
            StrSql = StrSql & " (SELECT     IdActualizacion"
            StrSql = StrSql & " FROM RecepcionPupilo"
            StrSql = StrSql & " WHERE      (IdActPupilo = " & IdActpupilo & ") ))"     
            BaseRecepcion = Base.Listado(StrSql, "Actualizacion")
            For Each Fila In BaseRecepcion.Tables("Actualizacion").Rows
                'EXTRAIGO LOS DATOS DEL PROGRAMA 
                '**************************************************************************
                'SELECCIONO LOS DATOS DEL PROGRAMNA ASOCIADO A LA ACTUALIZACION
                'EXTRAIDA EN LA CONSULTA ANTERIOR
                '**************************************************************************
                StrSql = ""
                StrSql = StrSql & " SELECT  IdSolucion, NumDActividad, NombreSolucion, 
                StrSql = StrSql & " Descripcion, FechaInicio"
                StrSql = StrSql & " FROM Solucion"
                StrSql = StrSql & " WHERE (IdSolucion = " & Trim(Fila("IdSolucion")) & ")"
                BaseRecepcion = Base.Listado(StrSql, "Solucion")

(Nota: Base.Listado(StrSql, "NombreTabla") es un metodo de una clase que se conecta a sqlserver y me entrega un dataset)
Bueno, el problema radica cuando trato de usar ese dataset en un button y lo hago de esta forma:

Código:
StrSql = ""
StrSql = StrSql & " SELECT   IdSolucionPupilo, Idsolucion, "
StrSql = StrSql & " IdPupilo, RutaSolucion, CantArchivos, VersionEjecutable"
StrSql = StrSql & " FROM SolucionPupilo"
StrSql = StrSql & " WHERE Idsolucion =" & BaseRecepcion.Tables("Actualizacion").Rows(0)("IdSolucion")
StrSql = StrSql & " AND IdPupilo = " & BaseRecepcion.Tables("RecepcionPupilo").Rows(0)("IdPupilo")

BaseRecepcion = Base.Listado(StrSql, "SolucionPupilo")

y me genera un error especificamente en:
Código PHP:
BaseRecepcion.Tables("Actualizacion").Rows(0)("IdSolucion"
y en
Código PHP:
BaseRecepcion.Tables("RecepcionPupilo").Rows(0)("IdPupilo"
el error que me tira:
Código HTML:
  "Excepción no controlada del tipo 'System.NullReferenceException' en XP.exe"
 "Información adicional: Referencia a objeto no establecida como instancia de un objeto."
El asunto es que como ado.net es una arquitectura pensada para trabajar desconectada pense que podria reutilizar la informacion que guarde en el dataset que utilizo al principio para mostrar la informacion de la actualizacion..

¡¡¡¡¡¡ Pero no funciono !!!!!

y la pregunta es: ¿Porque no puedo adquirir la informacion que use anteriormete en el load del formulario?, ademas el dataset esta declarado dentro de la clase pero fuera del boton y fuera del load.

Si alguien puede ayudar De ante mano le doy las gracias, por su tiempo..

Victor Rodriguez
Santiago chile


Recuerden: Enseñar es la mejor forma de aprender
  #2 (permalink)  
Antiguo 16/08/2005, 08:29
 
Fecha de Ingreso: julio-2004
Ubicación: Gómez Palacio, Durango, México
Mensajes: 132
Antigüedad: 19 años, 9 meses
Puntos: 0
//Si es para la WEB en C#
DataSet dsDatos;

[PageLoad....]
dsDatos = new Dataset();
dsDatos = LLenaInfo();
Session["Informacion"] = dsDatos;

[Cualquier otra función....]
dsDatos = (DataSet)Session["Información"];

Es una forma de hacerlo mas no se si sea la de mejor performance...
  #3 (permalink)  
Antiguo 16/08/2005, 09:14
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
recuerda que si estas hablando de web, y quieres usar el valor de la variable la debes estar cargando en todo momento, porque cuando das click se genera un postback y tienes que volver a cargar tu valor ya que depues pasa por el evento del que fue llamado...


Por cierto, si vas a concaternar varios string te recomiendo que lo hagas mejor con un StringBuilder ya que tiene mucho mayor perfomance y rapidez..

ejemplo:

Cita:
Dim sb as New System.Text.StringBuilder()

sb.Append("SELECT IdActualizacion, NumDActividad, FechaCreacion, Paquete, ")
sb.Append("Tamaño, Nombre, RutaPaquete, Desarrollador, IdSolucion...")
...

y al final para obtener el texto harías:

Cita:
BaseRecepcion = Base.Listado(sb.ToString(), "Solucion")

Espero haber sido claro..
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:49.