簡體   English   中英

更新數據庫中網頁的視圖計數

[英]Updating the view count of a webpage in a database

我有一個名為“帖子”的數據庫表,它存儲有關在網站上提交文章的所有信息。 有一個名為“Views”的列,這是一個每次查看特定帖子時都會增加的值。

過程是這樣的:

  1. 從數據庫中獲取記錄
  2. 將電流增加一
  3. 將更改保存到數據庫。

非常直截了當。 我擔心的是,如果多人同時點擊該鏈接,則更新將不准確。 我該怎么做呢? 這應該只在存儲過程中完成嗎?

    /// <summary>
    /// Updates the view count of a post.
    /// </summary>
    /// <param name="postId">The Id of the post to update</param>
    public bool UpdateViewCount(int postId)
    {
        Repository repository = new Repository();
        Post p = repository.Posts.Where(p => p.Id == postId).SingleOrDefault();
        if (p != null)
        {
            p.Views++;
        }
        repository.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
    }

一氣呵成:

UPDATE table SET views=views+1 WHERE myId=12;

如果你的db上下文被稱為_db,你可以使用它。

_db.ExecuteCommand("UPDATE posts SET views=views+1 WHERE id={0}", postId);

進一步閱讀在這里查看顧的帖子。

http://weblogs.asp.net/scottgu/archive/2007/08/27/linq-to-sql-part-8-executing-custom-sql-expressions.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM