iOS開發篇(九)FMDB的使用與介紹2

2021-07-10 19:50:11 字數 876 閱讀 9374

上篇博文介紹fmdb安全性問題,今天介紹fmdb的「事物」及離線快取

一、事物:

通常一次 sqlite3_exec 就是一次事務,假如你要對資料庫中的stutent表插入新資料,那麼該事務的具體過程是:開始新事物->插入資料->提交事務,那麼當我們要往該錶內插入500條資料,如果按常規操作處理就要執行500次「開始新事物->插入資料->提交事務」的過程。

通常事物用來對資料庫進行批量操作時會用到,優點:節省時間;

另一種情況:兩種不同的dml語句去操作同一字段,開啟事物,這樣可以保證字段對應資料的準確性。

舉個例子:如果t_student這張表需要同時插入500名學生的資訊,若不開啟事物逐條執行,就是插入一條儲存一條,如果反覆效率不高;若開啟事物的500條記錄,只有到提交事物的時候才會依次執行dml語句,且若dml語句有錯誤的話系統會進行回滾,效率很高。

直接上**:

- (void

)updatestudentinfor

//3. 判斷是否回滾

[ db excuseupdate:@"rollback  transaction" ];  // or   [ db  rollback ]; 

//4. 提交事物

[db  excuteupdate:@"commit  transsaction"];  // or   [ db  commit ];

}

}

iOS開發 FMDB使用

demo位址 nslog path database fmdatabase alloc initwithpath path id欄位為自增欄位 name char 256位 age char 3位 char 2位 phone char 13位 address char 100位的 if databa...

iOS開發 FMDB的使用

獲取沙盒路徑 nsarray filepath nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes nsstring documentpath filepath objectatindex 0 ns...

在iOS開發中使用FMDB

sqlite 是乙個輕量級的關聯式資料庫。ios sdk很早就支援了sqlite,在使用時,只需要加入 libsqlite3.dylib 依賴以及引入 sqlite3.h 標頭檔案即可。但是,原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,開源社群中就出現了一系列將sqlit...