Problema con dataset

11/08/2004 - 17:41 por Patricio Campos | Informe spam
Estoy creando un formulario en ASP.Net para ingresar datos a una base de
datos SQL Server 2000, y tengo el siguiente problema usando ADO.Net y Visual
Studio .Net 2003:

El formulario tiene dos botones. Al presionar el primero se llena un data
set (creado en el diseñador de webforms) y puedo acceder a las tablas y
filas desde el procedimiento del click del botón sin ningún problema.

Después necesito volver a acceder a los datos del dataset llenado pero
cuando presiono otro botón del formulario y aquí es donde tengo el problema.
Cuando intento acceder a los datos del dataset desde el procedimiento click
de este segundo boton no hay ninguna fila guardada, como si el dataset nunca
hubiese sido llenado en circunstancia que ya lo llené cuando presioné el
primer botón.

¿Por qué ocurre esto? Si alguien puede darme una orientación le agradecería
mucho!!!!

El código es el siguiente

Private Sub btnUNO_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnActualizar.Click

' verificar que se ha ingresado algún valor al cuadro de texto usuario

Try

SqlConexion.Open()

Catch ex As Exception

lblAdvertencia.Text = "No se puede abrir la base de datos. " + ex.Message

Exit Sub

End Try

' consulta a la base de datos

SqlDataAdapterUsuario = New Data.SqlClient.SqlDataAdapter("SELECT * FROM
Usuario WHERE Usuario = '" & txtUsuario.Text & "'", SqlConexion)

Try

SqlDataAdapterUsuario.Fill(ConjuntoDatos, "Usuario")

Catch ex As Exception

lblAdvertencia.Text = "No se ejecutar la consulta: " + ex.Message

Exit Sub

End Try

lblAdvertencia.Text = ConjuntoDatos.Tables("Usuario").Rows.Count --> Me
aparece 10

End Sub





Private Sub btnGuardarCambios_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnGuardarCambios.Click

lblAdvertencia.Text = ConjuntoDatos.Tables("Usuario").Rows.Count --> Me
aparece 0

End Sub

Preguntas similare

Leer las respuestas

#1 A.Poblacion
11/08/2004 - 19:52 | Informe spam
Cuando trabajas con ASP.NET las páginas no guardan estado. Esto quiere decir
que toda la información que tengas guardada en variables de la clase
(incluido tu dataset) se pierde cada vez que pulsas cualquier botón en la
página. El remedio es reconstruir el dataset en el evento page_load, que se
ejecuta siempre antes que el evento click de cualquier botón, con lo cual en
el click del botón volverás a tener los datos del dataset. Otra alternativa
es utilizar algún mecanismo para conservar el estado, por ejemplo, guardar
el dataset dentro del Session o el ViewState.

"Patricio Campos" wrote in message
news:
Estoy creando un formulario en ASP.Net para ingresar datos a una base de
datos SQL Server 2000, y tengo el siguiente problema usando ADO.Net y


Visual
Studio .Net 2003:

El formulario tiene dos botones. Al presionar el primero se llena un data
set (creado en el diseñador de webforms) y puedo acceder a las tablas y
filas desde el procedimiento del click del botón sin ningún problema.

Después necesito volver a acceder a los datos del dataset llenado pero
cuando presiono otro botón del formulario y aquí es donde tengo el


problema.
Cuando intento acceder a los datos del dataset desde el procedimiento


click
de este segundo boton no hay ninguna fila guardada, como si el dataset


nunca
hubiese sido llenado en circunstancia que ya lo llené cuando presioné el
primer botón.

¿Por qué ocurre esto? Si alguien puede darme una orientación le


agradecería
mucho!!!!

El código es el siguiente

Private Sub btnUNO_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnActualizar.Click

' verificar que se ha ingresado algún valor al cuadro de texto usuario

Try

SqlConexion.Open()

Catch ex As Exception

lblAdvertencia.Text = "No se puede abrir la base de datos. " + ex.Message

Exit Sub

End Try

' consulta a la base de datos

SqlDataAdapterUsuario = New Data.SqlClient.SqlDataAdapter("SELECT * FROM
Usuario WHERE Usuario = '" & txtUsuario.Text & "'", SqlConexion)

Try

SqlDataAdapterUsuario.Fill(ConjuntoDatos, "Usuario")

Catch ex As Exception

lblAdvertencia.Text = "No se ejecutar la consulta: " + ex.Message

Exit Sub

End Try

lblAdvertencia.Text = ConjuntoDatos.Tables("Usuario").Rows.Count -->


Me
aparece 10

End Sub





Private Sub btnGuardarCambios_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnGuardarCambios.Click

lblAdvertencia.Text = ConjuntoDatos.Tables("Usuario").Rows.Count -->


Me
aparece 0

End Sub



Respuesta Responder a este mensaje
#2 Patricio Campos
11/08/2004 - 22:37 | Informe spam
Gracias!!!
Tu ayuda me ha sido muy útil
"A.Poblacion" escribió en
el mensaje news:
Cuando trabajas con ASP.NET las páginas no guardan estado. Esto quiere


decir
que toda la información que tengas guardada en variables de la clase
(incluido tu dataset) se pierde cada vez que pulsas cualquier botón en la
página. El remedio es reconstruir el dataset en el evento page_load, que


se
ejecuta siempre antes que el evento click de cualquier botón, con lo cual


en
el click del botón volverás a tener los datos del dataset. Otra


alternativa
es utilizar algún mecanismo para conservar el estado, por ejemplo, guardar
el dataset dentro del Session o el ViewState.

"Patricio Campos" wrote in message
news:
> Estoy creando un formulario en ASP.Net para ingresar datos a una base de
> datos SQL Server 2000, y tengo el siguiente problema usando ADO.Net y
Visual
> Studio .Net 2003:
>
> El formulario tiene dos botones. Al presionar el primero se llena un


data
> set (creado en el diseñador de webforms) y puedo acceder a las tablas y
> filas desde el procedimiento del click del botón sin ningún problema.
>
> Después necesito volver a acceder a los datos del dataset llenado pero
> cuando presiono otro botón del formulario y aquí es donde tengo el
problema.
> Cuando intento acceder a los datos del dataset desde el procedimiento
click
> de este segundo boton no hay ninguna fila guardada, como si el dataset
nunca
> hubiese sido llenado en circunstancia que ya lo llené cuando presioné el
> primer botón.
>
> ¿Por qué ocurre esto? Si alguien puede darme una orientación le
agradecería
> mucho!!!!
>
> El código es el siguiente
>
> Private Sub btnUNO_Click(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles btnActualizar.Click
>
> ' verificar que se ha ingresado algún valor al cuadro de texto usuario
>
> Try
>
> SqlConexion.Open()
>
> Catch ex As Exception
>
> lblAdvertencia.Text = "No se puede abrir la base de datos. " +


ex.Message
>
> Exit Sub
>
> End Try
>
> ' consulta a la base de datos
>
> SqlDataAdapterUsuario = New Data.SqlClient.SqlDataAdapter("SELECT * FROM
> Usuario WHERE Usuario = '" & txtUsuario.Text & "'", SqlConexion)
>
> Try
>
> SqlDataAdapterUsuario.Fill(ConjuntoDatos, "Usuario")
>
> Catch ex As Exception
>
> lblAdvertencia.Text = "No se ejecutar la consulta: " + ex.Message
>
> Exit Sub
>
> End Try
>
> lblAdvertencia.Text njuntoDatos.Tables("Usuario").Rows.Count -->
Me
> aparece 10
>
> End Sub
>
>
>
>
>
> Private Sub btnGuardarCambios_Click(ByVal sender As System.Object, ByVal


e
> As System.EventArgs) Handles btnGuardarCambios.Click
>
> lblAdvertencia.Text njuntoDatos.Tables("Usuario").Rows.Count -->
Me
> aparece 0
>
> End Sub
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida