Foros del Web » Programando para Internet » ASPX (.net) »

Problema Con Update Y Sp

Estas en el tema de Problema Con Update Y Sp en el foro de ASPX (.net) en Foros del Web. Hola, tengo el siguiente problema: trato de realizar una actualizacion a la bd mediante stored procedure. para mostrar los datos actuales lo hago mediante un ...
  #1 (permalink)  
Antiguo 12/12/2006, 13:40
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación Problema Con Update Y Sp

Hola, tengo el siguiente problema:

trato de realizar una actualizacion a la bd mediante stored procedure.

para mostrar los datos actuales lo hago mediante un formulario y un sqldatareader. hasta aqui todo bien.

tengo algunos campos de texto y recupero sus datos asi:

Código:
EE_Nombre.Attributes("Value") = ObjLector("E_Nombre")
EE_Apellidos.Attributes("Value")  = ObjLector("E_Apellidos")
luego un dropdownlist donde establezco el elemento seleccionado acorde al valor almacenado en la bd, lo eh probado de dos maneras distintas:

Manera 1:

Código:
Dim NivelCont As Integer
Dim iCont As Integer
NivelCont = EE_Nivel.Items.Count
For iCont = 0 To NivelCont
    If ObjLector("E_Nivel") = EE_Nivel.Items(iCont).Text Then
        EE_Nivel.Items(iCont).Selected = True
        Exit For
    End If
Next
Manera 2:

Código:
EE_Nivel.SelectedIndex = EE_Nivel.Items.IndexOf(EE_Nivel.Items.FindByValue(ObjLector("E_Nivel")))
Ambas funcionan igual, el problema viene al procesar la actualizacion.

Este es mi stored procedure:

Código:
CREATE PROCEDURE ESP_ModificarUsuario

@E_ID Int,
@E_Nombre varchar(max),
@E_Apellidos varchar(max),
@E_Nivel varchar(max)

AS

UPDATE TABLA_USUARIOS

SET

E_Nombre=@E_Nombre,
E_Apellidos=@E_Apellidos,
E_Nivel=@E_Nivel

WHERE E_ID=@E_ID
Y el proceso...

Código:
'Parámetro E_ID
            Dim ObjParamID As New SqlParameter("@E_ID", SqlDbType.Int)
            ObjParamID.Value = CInt(Request.Querystring("E_ID"))
            ObjComando.Parameters.Add(ObjParamID)
'Parámetro Nombre
            Dim ObjParamNombre As New SqlParameter("@E_Nombre", SqlDbType.VarChar)
            ObjParamNombre.Value = EE_Nombre.text
            ObjComando.Parameters.Add(ObjParamNombre)
            'Parámetro Apellidos
            Dim ObjParamApellidos As New SqlParameter("@E_Apellidos", SqlDbType.VarChar)
            ObjParamApellidos.Value = E_Apellidos.text
            ObjComando.Parameters.Add(ObjParamApellidos)
'Parámetro Nivel
            Dim ObjParamNivel As New SqlParameter("@E_Nivel", SqlDbType.VarChar)
            ObjParamNivel.Value = EE_Nivel.SelectedItem.Value
            ObjComando.Parameters.Add(ObjParamNivel)
El problema real, es que el nombre y apellido se actualizan bien, pero no el nivel. el nivel no se actualiza y no se que problema haya con el dropdownlist, si interfiere en algo que establezca el elemento seleccionado segun lo que hay en la base de datos y la parte:

Código:
ObjParamNivel.Value = EE_Nivel.SelectedItem.Value
En fin ojalá alguien me pueda instruir.

Saludos.
  #2 (permalink)  
Antiguo 12/12/2006, 14:27
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta Re: Problema Con Update Y Sp

Gracias, lo eh resuelto de una manera muy extraña y


¡¡¡ ME GUSTARIA QUE ALGUIEN ME LO EXPLICARA !!!

buscando un poco en este foro, encontré algo similar y bueno, basandome en ello agregué lo siguiente en el sqldatareader que recupera los datos en la base para ser modificados:

Código:
If Not Page.IsPostBack Then
 ...
End If
De modo que quedó así:

Código:
If Not Page.IsPostBack Then
Dim ObjLector As SqlDataReader
                ObjLector = ObjAdmUsuarios.DetalleUsuario(CInt(Request.QueryString("E_ID")))
                If ObjLector.HasRows Then
                    Do While ObjLector.Read
                        EE_Nombre.Attributes("Value") = ObjLector("E_Nombre")

                        bla... bla ... bla...
                   Loop
ObjLector.Close()
                End If
End If
¿Pueden creerlo?

De verdad, me gustaria mucho que alguien me lo explicara.

Muchas gracias!
  #3 (permalink)  
Antiguo 13/12/2006, 09:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 1
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Problema Con Update Y Sp

De la forma como lo has seleccionado no es nada raro, esta propiedad de .net If(!IsPostBack){} permite que en un llamado a la misma pagina no se limpien los datos que has introducido en los campos de texto o ddl(Drop Down List), no te seleccionaba el ddl porque al hacer el request volvia y te cargaba la pagina y el ddl se iniciaba en la primera posicion, con el !IsPostBack te vuelve a cargar la pagina pero donde habias seleccionado el ddl
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 05:01.