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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Patricio Campos
13/08/2004 - 16:46 | Informe spam
Pero ¿cómo puedo cargar el dataset en el Load de la página si los datos con
los que se carga solo los puedo obtener una vez que el usuario ingrese el
parámetro de búscada (le dé click al botón)?


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


Respuesta Responder a este mensaje
#3 Luis Miguel Cisneros L.
14/08/2004 - 06:37 | Informe spam
Hola!

En mi caso yo recibia de un QueryString los datos. entonces lo que puedes
hacer es guardar el dataset en en session como te indique en el ejemplo.

Saludos
Luis Cisneros
"Patricio Campos" wrote in message
news:%
Pero ¿cómo puedo cargar el dataset en el Load de la página si los datos


con
los que se carga solo los puedo obtener una vez que el usuario ingrese el
parámetro de búscada (le dé click al botón)?


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


Respuesta Responder a este mensaje
#4 Luis Miguel Cisneros L.
12/09/2004 - 03:33 | Informe spam
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 = 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



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