iOS開發資料庫篇 FMDB資料庫佇列

2021-09-23 21:15:01 字數 1642 閱讀 3007

一、**示例

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框架,更加輕量級和靈活 ...