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:
luego un dropdownlist donde establezco el elemento seleccionado acorde al valor almacenado en la bd, lo eh probado de dos maneras distintas:EE_Nombre.Attributes("Value") = ObjLector("E_Nombre") EE_Apellidos.Attributes("Value") = ObjLector("E_Apellidos")
Manera 1:
Código:
Manera 2: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
Código:
Ambas funcionan igual, el problema viene al procesar la actualizacion.EE_Nivel.SelectedIndex = EE_Nivel.Items.IndexOf(EE_Nivel.Items.FindByValue(ObjLector("E_Nivel")))
Este es mi stored procedure:
Código:
Y el proceso...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
Código:
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:'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)
Código:
En fin ojalá alguien me pueda instruir.ObjParamNivel.Value = EE_Nivel.SelectedItem.Value
Saludos.