程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#編寫聊天程序系列筆記(三)數據庫加鎖操作

C#編寫聊天程序系列筆記(三)數據庫加鎖操作

編輯:C#入門知識

因為在實際項目中,會有大量的用戶鏈接數據庫並請求各種操作,此時我們就需要對各個請求創建線程進行處理,這時候問題就來了,當大家的請求都涉及到寫數據庫時候,怎麼辦?這個時候就要用到數據庫的加鎖了。具體數據庫的加鎖知識大家可以百度之,不過這裡不需要太多高深的加鎖知識,只需要一點就是寫鎖

寫鎖是神馬捏?具體來說就是一種排他鎖,當寫的時候不允許其他程序寫,這樣就可以保證數據一致性了。OK了,這就夠了,在程序中怎樣對數據庫進行加鎖呢?

數據庫的加鎖是在我們寫數據庫的時候進行的,當然現在很多數據庫都自己帶了枷鎖機制,但是當我們具有大量並發的時候還是自己寫著比較好

C#對MySQL進行操作上一篇已經說了,這裡直接進行說明怎樣進行加鎖

代碼如下:

 string lockDB = "LOCK TABLE t_userinfo WRITE";
                MySQLCommand sqlcmd = new MySQLCommand(lockDB, conn);
                sqlcmd.ExecuteReaderEx();

                string cmd = "update t_userinfo set F_State = 0 where F_Name= '" + name + "'";
                sqlcmd = new MySQLCommand(cmd, conn);
                sqlcmd.ExecuteReaderEx();

                string UnlockDB = "UNLOCK TABLES";
                sqlcmd = new MySQLCommand(UnlockDB, conn);
                sqlcmd.ExecuteReaderEx();

 

注意的是,當加鎖完成後一定要解鎖啊

上一文:http://www.Bkjia.com/kf/201312/261976.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved