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.