Foros del Web » Programación para mayores de 30 ;) » .NET »

problema Actualizar en datagrid

Estas en el tema de problema Actualizar en datagrid en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/03/2005, 08:00
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 5 meses
Puntos: 1
problema Actualizar en datagrid

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
  #2 (permalink)  
Antiguo 16/03/2005, 09:01
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 2 meses
Puntos: 1
Creo que lo que realmente quieres hacer en la actualización es:

Código:
Dim UpdateCmd As String = "UPDATE Cargo_Solicitado SET  Nombre_Cargo = @Nombre_Cargo WHERE CargoID = @CargoID"
Y no
Código:
Dim UpdateCmd As String = "UPDATE Cargo_Solicitado SET CargoID = @CargoID, Nombre_Cargo = @Nombre_Cargo"
Quizá sea eso. Saludos
  #3 (permalink)  
Antiguo 16/03/2005, 09:49
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 5 meses
Puntos: 1
eso era muchas gracias
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 20:54.