Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2006, 13:40
RugalMKing
 
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.