Problema con dataset

11/08/2004 - 17:40 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
 

Leer las respuestas

#1 Patricio Campos
13/08/2004 - 16:36 | Informe spam
Gracias!!!!

Voy a interntarlo ahora mismo. Si me resulta te aviso

Patricio Campos
"Luis Miguel Cisneros L."
escribió en el mensaje news:%
Hola!

Efectivamente, cuando das el segundo click, el dataset nunca existio, ya


que
el estado de los objetos de cada pagina se pierde con cada post back.


yo resolvi cargando un nuevo dataset en el load de la pagina, pero puedes
hacerlo de otras varias manerasotra opcion es que serialices el


datagrid
en un archivo xml que guardes con un nombre random en el servidor,


guardardo
el nombre en el ViewState o en el Session.

la mas facil a mi parecer es guardar el dataset en el session, ahunque no


se
que tan escalable es esto.



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

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


Me
aparece 10

Session("ConjuntoDatos") = ConjuntoDatos

End Sub

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

If Not Session("ConjuntoDatos") is Nothing then
lblAdvertencia.Text = DirectCast(ConjuntoDatos,
DataSet).Tables("Usuario").Rows.Count
End IF
End Sub

Saludos
Luis Miguel

"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
>
>
>


Preguntas similares