sqlite一種輕量級關聯式資料庫,在嵌入式系統中使用比較廣泛。
在ios中使用sqlite需要新增庫libsqlite3.0.dylib,並引入標頭檔案#import
fmdb對sqlit介面進行了高階封裝,使用上更加友好簡潔。
fmdb包含以下檔案:
fmdatabase.h
fmdatabase.m
fmdatabaseadditions.h
fmdatabaseadditions.m
fmdatabasepool.h
fmdatabasepool.m
fmdatabasequeue.h
fmdatabasequeue.m
fmresultset.h
fmresultset.m
fmdb使用:
1.fmdatabase 非執行緒安全,不要在多執行緒中使用fmdatabase的單例
//用指定的資料庫名例項化乙個資料庫,沒有此檔案則建立
fmdatabase *db = [fmdatabase databasewithpath:filepath];
"" 在臨時目錄建立乙個空的資料庫,資料庫關閉後會自動刪除
null 在記憶體中建立乙個空的資料庫,資料庫關閉後會自動刪除
//開啟資料庫,資源不足或許可權不夠會開啟失敗
if (![db open])
//用完後需要關閉
[db close];
資料庫操作:
查詢操作:select,返回fmresultset,nil表示查詢失敗;
[db executequery:sql];
fmresultset *rs = [db executequery:@"select * from tablename"];
}更新操作:非select操作都是更新操作,返回值型別bool,yes:成功,no:失敗
[db executeupdate:sql];
資料庫事務:
當需要插入的資料較多時,使用事務操作會比較快。
[db begintransaction];
//需要執行的操作
[db commit];
fmresultset *rs;
fmresultset可以不手動關閉,當資料庫關閉時,會跟著關閉。
2.fmdatabasequeue 執行緒安全,所有的資料庫操作會在佇列中順序執行
[fmdatabasequeue *queue = [fmdatabasequeue databasequeuewithpath:path];
queue indatabase:^(fmdatabase *db) ];
queue intransaction:^(fmdatabase *db, bool *rollback)
iOS資料庫操作之FMDB
sqlite一種輕量級關聯式資料庫,在嵌入式系統中使用比較廣泛。在ios中使用sqlite需要新增庫libsqlite3.0.dylib,並引入標頭檔案 import fmdb對sqlit介面進行了高階封裝,使用上更加友好簡潔。fmdb包含以下檔案 fmdatabase.h fmdatabase.m...
iOS資料庫操作之FMDB
sqlite一種輕量級關係 資料庫,在嵌入式系統中使用比較廣泛。在ios中使用sqlite需要新增庫libsqlite3.0.dylib,並引入標頭檔案 import fmdb對sqlit介面進行了高階封裝,使用上更加友好簡潔。fmdb包含以下檔案 fmdatabase.h fmdatabase.m...
iOS 資料庫操作 使用FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...