C 編寫聊天程式系列筆記(三)資料庫加鎖操作

2021-08-27 15:46:24 字數 657 閱讀 2689

寫鎖是神馬捏?

具體來說就是一種排他鎖,當寫的時候不允許其他程式寫,這樣就可以保證資料一致性了。ok了,這就夠了,在程式中怎樣對資料庫進行加鎖呢?

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

**如下:

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();

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

作業系列 嘗試編寫SQL資料庫(三)

按照之前的想法,似乎應該先做語言處理層,再做記憶體,再做檔案儲存,而在實驗過程中突然發現如果沒有做檔案儲存的話,設計記憶體中的資料庫很難寫,或者擔心寫了和將來的檔案儲存層互相排斥,既然是嘗試編寫sql資料庫,就寫乙個全套的吧,在這裡先寫下自己對資料庫檔案儲存格式的設想。因為資料庫涉及很多的許可權要求...

MySQL筆記系列 資料庫概述

資料庫管理技術的發展階段 1 人工管理階段 資料不能長期儲存 程式本身管理資料 資料不能共享 資料不具有獨立性。2 檔案系統階段 資料可以長期儲存 資料有檔案系統管理 資料冗餘大,共享性差 訪問效率低下。3 資料庫系統階段 資料實現結構化 資料實現共享性 訪問效率高 資料庫系統相關概念 資料庫技術的...

VC 下使用ADO編寫資料庫程式

準備 1 引入ado類 import c program files common files system ado msado15.dll no namespace rename eof adoeof 2 初始化com 在mfc中可以用afxoleinit 非mfc環境中用 coinitializ...