try
      {
      
        string q ="UPDATE oficina SET clave=@CLAVE, nombre=@NOMBRE, edad=@EDAD where clave=@CLAVE";
      
 
        OleDbCommand orden = new OleDbCommand(q,this.connecion);
        orden.Parameters.Add(new OleDbParameter("@NOMBRE",OleDbType.Integer));
        orden.Parameters.Add(new OleDbParameter("@NOMBRE",OleDbType.VarChar));
        orden.Parameters.Add(new OleDbParameter("@EDAD",OleDbType.Integer));
 
        orden.Parameters["@NOMBRE"].Value = this.TABLAGRID.DataKeys[(int)e.Item.ItemIndex];
        String[] nomcajas = {"clave","@NOMBRE","@EDAD"};
 
        for (int i=2; i<=3; i++)
        {
          String datocajas = ((TextBox)e.Item.Cells[i].Controls[0]).Text;
          orden.Parameters[nomcajas[i-1]].Value = Server.HtmlEncode(datocajas);
        }
 
        orden.Connection.Open();
        orden.ExecuteNonQuery();
 
        this.TABLAGRID.EditItemIndex = -1;
 
        orden.Connection.Close();
        DespTabla();
      }
      catch (Exception ex)
      {
           Response.Write(ex.Message); 
         Response.End(); 
      }