一、**示例
1.需要先導入fmdb框架和標頭檔案,由於該框架依賴於libsqlite庫,所以還應該匯入該庫。
05-fmdb資料庫佇列4//
5//6//
7//89
#import
"yyviewcontroller.h"10
#import
"fmdb.h"11
12@inte***ce yyviewcontroller ()
13 @property(nonatomic,strong)fmdatabasequeue *queue;
14@end
1516
@implementation yyviewcontroller
1718 - (void)viewdidload
19 else
36
39 }];
40 self.queue=queue;
4142 }
4344 -(void)touchesbegan:(nsset *)touches withevent:(uievent *)event
45 ];
5051
//查詢資料
52 [self.queue indatabase:^(fmdatabase *db)
63 }];
6465 }
6667
@end
先插入資料,之後查詢結果,列印如下:
有了乙個佇列物件,它的內部自動就擁有乙個資料庫物件,且資料庫的操作是執行緒安全的。
二、事務
事務,沒有事務的話會出現問題。
舉例:銀行的例子
事務:把多條語句放到同乙個事務中,要麼全部成功,要不全部失敗(如果中途出現問題,那麼會自動回滾)。事務的執行具有原子性。
事務**處理:
把多條語句新增到乙個事務中去執行:
1如果中途出現問題,那麼會自動回滾,也可以選擇手動回滾。//插入資料
2 [self.queue indatabase:^(fmdatabase *db) ];
1上面的**。前三條插入語句是作廢的。//插入資料
2 [self.queue indatabase:^(fmdatabase *db) ];
事務處理的另一種方式:
1 [self.queue intransaction:^(fmdatabase *db, bool *rollback) ];說明:先開事務,再開始事務,之後執行block中的**段,最後提交事務。
iOS開發資料庫篇 FMDB資料庫佇列
ios開發資料庫篇 fmdb資料庫佇列 一 示例 1.需要先導入fmdb框架和標頭檔案,由於該框架依賴於libsqlite庫,所以還應該匯入該庫。2.如下 15 16 implementation yyviewcontroller 17 18 void viewdidload 19 else 36 ...
iOS開發資料庫篇 FMDB簡單介紹
ios開發資料庫篇 fmdb簡單介紹 一 簡單說明 1.什麼是fmdb fmdb是ios平台的sqlite資料庫框架 fmdb以oc的方式封裝了sqlite的c語言api 2.fmdb的優點 使用起來更加物件導向,省去了很多麻煩 冗餘的c語言 對比蘋果自帶的core data框架,更加輕量級和靈活 ...
iOS開發資料庫篇 FMDB簡單介紹
ios開發資料庫篇 fmdb簡單介紹 一 簡單說明 1.什麼是fmdb fmdb是ios平台的sqlite資料庫框架 fmdb以oc的方式封裝了sqlite的c語言api 2.fmdb的優點 使用起來更加物件導向,省去了很多麻煩 冗餘的c語言 對比蘋果自帶的core data框架,更加輕量級和靈活 ...