Ayuda con DataSet

28/02/2007 - 19:24 por Lu´pita | Informe spam
Hola!

En una aplicación web estoy utilizando un Dataset, según yo tipado, lleno el
DataSet en el Page_Load pero al tratar de utilizar los datos en otro evento
me marca error y no puedo trabajar con los datos ya cargados anteriormente
al Dataset.

Alguien podría ayudarme indicandome que debod e hacer para poder llenar los
datos una sola vez en un dataset y poder trbajar con ellos en cualquier
evento.

Este es el código:
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
sqlDataAdapter1.Fill(preg,"preguntas");
}
}

private void sig_Click(object sender, System.EventArgs e)
{
Response.Write (preg.preguntas.Rows[0][0].ToString());
}

Gracias y Saludos...
 

Leer las respuestas

#1 Alberto Poblacion
28/02/2007 - 20:38 | Informe spam
"Lu´pita" wrote in message
news:
En una aplicación web estoy utilizando un Dataset, según yo tipado, lleno
el
DataSet en el Page_Load pero al tratar de utilizar los datos en otro
evento
me marca error y no puedo trabajar con los datos ya cargados
anteriormente
al Dataset.

Alguien podría ayudarme indicandome que debod e hacer para poder llenar
los
datos una sola vez en un dataset y poder trbajar con ellos en cualquier
evento.

Este es el código:
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
sqlDataAdapter1.Fill(preg,"preguntas");
}
}

private void sig_Click(object sender, System.EventArgs e)
{
Response.Write (preg.preguntas.Rows[0][0].ToString());
}



Tu problema está en que para que esto te funcione tienes que quitar la
linea que dice " if (!Page.IsPostBack)". Esta linea hace que solo cargues el
dataset la primera vez que se carga la página. Una vez que se ha cargado,
termina el Page_load, la página se envía al cliente, y se destruye a clase,
perdiéndose los datos que habías cargado en el dataset.
A continuación el usuario hace click, y se vuelve a crear la clase en el
servidor, se vuelve a ejecutar el Page_load, NO se carga el dataset porque
lo impide el "if", y seguidamente se ejecuta el sig_click qeu da un error
porque el dataset es null.
El remedio más simple es quitar el "if" del Page_Load para que el dataset
se cargue siempre, pero si la carga es demasiado costosa también puedes
recurrir a preservarlo entre invocaciones de la clase por medio del
ViewState o del Session.

Preguntas similares