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

DataKey para Update

Estas en el tema de DataKey para Update en el foro de .NET en Foros del Web. Hola, en un web form capturo el DataKey de una seleccion de GridView, y este DataKey lo tengo que utilizar en otro WebForm para hacer ...
  #1 (permalink)  
Antiguo 28/10/2015, 20:09
 
Fecha de Ingreso: septiembre-2015
Ubicación: Cordoba
Mensajes: 15
Antigüedad: 8 años, 7 meses
Puntos: 0
DataKey para Update

Hola, en un web form capturo el DataKey de una seleccion de GridView, y este DataKey lo tengo que utilizar en otro WebForm para hacer un Update.....Sin embargo, cuando compilo y hago trabajar ello, no me da Error pero tampoco me Actualiza......Como deberia hacer valer el DataKey en el 2° WebForm para que funcione??

A continuacion, coloco Codigo:

Del 1° Form:


Código:
protected void GridRol_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Se obtiene la fila seleccionada del gridview
            GridViewRow row = GridRol.SelectedRow;
            // Obtengo el id de la entidad que se esta editando
            // en este caso de la entidad Curso
            ViewState["idRol"] = Convert.ToInt32(GridRol.DataKeys[row.RowIndex].Value);

            string Id_Rol = row.Cells[1].Text;
            string Descripcion = row.Cells[2].Text;

            Response.Redirect("ABMRol.aspx?Id_Rol=" + Id_Rol + "&Descripcion=" + Descripcion);
            
        }


Del 2° WebForm:


Código:
 protected void ButtonModificar_Click(object sender, EventArgs e)
        {

            string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                using (OleDbConnection cnn = new OleDbConnection(cadenaConexion))
            {
                cnn.Open();

                string query = @"Update Rol Set Descripcion = @Desc Where Id_Rol = @id";
                OleDbCommand com = new OleDbCommand(query, cnn);

                com.Parameters.AddWithValue("@Desc", TextDescripcion.Text);
                com.Parameters.AddWithValue("@id", ViewState["idRol"]);

                com.ExecuteScalar();
             }
        }

De esta forma que esta planteado en el 1° web form, me da el sig. Error:

"Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index"


Bueno, necesito probar el codigo a los fines de ver si me Updatea ya que de otras fromas no lo he logrado..
abrazos, nos vemos,...



PERO, de esta otra forma en el 1° WebForm:

Código:
protected void GridRol_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Se obtiene la fila seleccionada del gridview
            GridViewRow row = GridRol.SelectedRow;
            
           
            string Id_Rol = row.Cells[1].Text;
            string Descripcion = row.Cells[2].Text;

            Response.Redirect("ABMRol.aspx?Id_Rol=" + Id_Rol + "&Descripcion=" + Descripcion);

            // Obtengo el id de la entidad que se esta editando
            // en este caso de la entidad Curso
            ViewState["idRol"] = Convert.ToInt32(GridRol.DataKeys[row.RowIndex].Value); 
            
        }

No me da Error, como encabece este Post, pero tampoco me otorga ningun resultado.....

Como se haria para que funcione, si se puede?¡

Etiquetas: update
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 16:15.