fmdb同時相容arc和非arc工程,會自動根據工程配置來調整相關的記憶體管理**。
fmdb常用類:
fmdatabase : 乙個單一的sqlite資料庫,用於執行sql語句。
fmresultset :執行查詢乙個fmdatabase結果集,這個和android的cursor類似。
fmdatabasequeue :在多個執行緒來執行查詢和更新時會使用這個類。
建立資料庫:
1 db = [fmdatabase databasewithpath:database_path];
1、當資料庫檔案不存在時,fmdb會自己建立乙個。
2、 如果你傳入的引數是空串:@"" ,則fmdb會在臨時檔案目錄下建立這個資料庫,資料庫斷開連線時,資料庫檔案被刪除。
3、如果你傳入的引數是 null,則它會建立乙個在記憶體中的資料庫,資料庫斷開連線時,資料庫檔案被刪除。
返回bool型。
1 [db close]
資料庫增刪改等操作:
除了查詢操作,fmdb資料庫操作都執行executeupdate方法,這個方法返回bool型。
1if([db open]) else 9
[db close];
1011 }
1if([db open]) else
16[db close];
1718 }
1if([db open]) else
11[db close];
1213 }
1資料庫查詢操作:if([db open]) else
13[db close];
1415 }
查詢操作使用了executequery,並涉及到fmresultset。
1fmdb的fmresultset提供了多個方法來獲取不同型別的資料:if([db open])
12[db close];
13 }
如果應用中使用了多執行緒運算元據庫,那麼就需要使用fmdatabasequeue來保證執行緒安全了。 應用中不可在多個執行緒中共同使用乙個fmdatabase物件運算元據庫,這樣會引起資料庫資料混亂。 為了多執行緒運算元據庫安全,fmdb使用了fmdatabasequeue,使用fmdatabasequeue很簡單,首先用乙個資料庫檔案位址來初使化fmdatabasequeue,然後就可以將乙個閉包(block)傳入indatabase方法中。 在閉包中運算元據庫,而不直接參與fmdatabase的管理。
1 fmdatabasequeue * queue =[fmdatabasequeue databasequeuewithpath:database_path];2 dispatch_queue_t q1 = dispatch_queue_create("
queue1
", null);
3 dispatch_queue_t q2 = dispatch_queue_create("
queue2
", null);
45 dispatch_async(q1, ^ else
23}];
24}
25});
2627 dispatch_async(q2, ^ else
43}];
44}
45 });
FMDB基本操作
1.例項化fmdatabase paths ios下document路徑,document為ios中可讀寫的資料夾 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes n...
使用FMDB 基本操作
建立,插入,更新和刪除 使用executeupdate方法,而查詢則用executequery 1.例項化fmdatabase paths ios下document路徑,document為ios中可讀寫的資料夾 nsarray paths nssearchpathfordirectoriesindo...
使用FMDB 1 基本操作
1.例項化fmdatabase paths ios下document路徑,document為ios中可讀寫的資料夾 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes n...