Hola muchachos tengo un problema a la hora de actualizar el valor de un campo en modo edicon dentro del data grid
Cuando presiona editar en la tabla que es de dos campos (CargoID y Nombre_CArgo) aparece un dropdownlist el mismo cuando selecciono un valor de la lsita y le doy actualizar me genera el siguiente error
ERROR: no se pudo actualizar el registro, compruebe que los campos estn rellenos correctamenteNo se puede actualizar la columna de identidad 'CargoID'.
Y lo mas cumbre es que no estoy editando esa coluna cargo id
pero aca le dejo el codijo
de la actualizacion
Sub MyDataGrid_Update(Sender As Object, E As DataGridCommandEventArgs)
If (Page.IsValid)
Dim DS As DataSet
Dim MyCommand As SqlCommand
Dim UpdateCmd As String = "UPDATE Cargo_Solicitado SET CargoID = @CargoID, Nombre_Cargo = @Nombre_Cargo"
MyCommand = New SqlCommand(UpdateCmd, MyConnection)
MyCommand.Parameters.Add(New SqlParameter("@CargoID", SqlDbType.NVarChar, 11))
MyCommand.Parameters.Add(New SqlParameter("@Nombre_Cargo", SqlDbType.NVarChar, 40))
MyCommand.Parameters("@CargoID").Value = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
Dim StateDropDownList As DropDownList
StateDropDownList = E.Item.FindControl("edit_DropDownList1")
MyCommand.Parameters("@Nombre_Cargo").Value = StateDropDownList.SelectedItem.ToString()
MyCommand.Connection.Open()
Try
MyCommand.ExecuteNonQuery()
Message.InnerHtml = "<b>Registro actualizado</b><br>" & UpdateCmd
MyDataGrid.EditItemIndex = -1
Catch Exp As SqlException
If Exp.Number = 2627
Message.InnerHtml = "ERROR: ya existe un registro con la misma clave principal"
Else
Message.InnerHtml = "ERROR: no se pudo actualizar el registro, compruebe que los campos están rellenos correctamente" & Exp.Message
End If
Message.Style("color") = "red"
End Try
MyCommand.Connection.Close()
BindGrid()
Else
Message.InnerHtml = "ERROR: compruebe las condiciones de error de cada campo."
Message.Style("color") = "red"
End If
End Sub