iOS 資料持久化 FMDB

2022-08-26 03:03:08 字數 1827 閱讀 8268

一、簡介

1.什麼是fmdb

fmdb是ios平台的sqlite資料庫框架

fmdb以oc的方式封裝了sqlite的c語言api

2.fmdb的優點

使用起來更加物件導向,省去了很多麻煩、冗餘的c語言**

對比蘋果自帶的core data框架,更加輕量級和靈活

提供了多執行緒安全的資料庫操作方法,有效地防止資料混亂

3.fmdb的github位址

二、核心類

fmdb主要的三個類:

(1)fmdatabase

乙個fmdatabase物件就代表乙個單獨的sqlite資料庫

用來執行sql語句

(2)fmresultset

使用fmdatabase執行查詢後的結果集

(3)fmdatabasequeue

用於在多執行緒中執行多個查詢或更新,它是執行緒安全的

三、開啟資料庫

通過指定sqlite資料庫檔案路徑來建立fmdatabase物件

fmdatabase *db = [fmdatabase databasewithpath:path];

if (![db open]) {

nslog(@"資料庫開啟失敗!");

檔案路徑有三種情況

(1)具體檔案路徑

如果不存在會自動建立

(2)空字串@""

會在臨時目錄建立乙個空的資料庫

當fmdatabase連線關閉時,資料庫檔案也被刪除

(3)nil

會建立乙個記憶體中臨時資料庫,當fmdatabase連線關閉時,資料庫會被銷毀

四、執行更新

在fmdb中,除查詢以外的所有操作,都稱為「更新」

create、drop、insert、update、delete等

使用executeupdate:方法執行更新

- (bool)executeupdate:(nsstring*)sql, ...

- (bool)executeupdatewithformat:(nsstring*)format, ...

- (bool)executeupdate:(nsstring*)sql withargumentsinarray:(nsarray *)arguments

示例[db executeupdate:@"update t_student set age = ? where name = ?;", @20, @"jack"]

五、執行查詢

查詢方法

- (fmresultset *)executequery:(nsstring*)sql, ...

- (fmresultset *)executequerywithformat:(nsstring*)format, ...

- (fmresultset *)executequery:(nsstring *)sql withargumentsinarray:(nsarray *)arguments

示例// 查詢資料

fmresultset *rs = [db executequery:@"select * from t_student"];

// 遍歷結果集

while ([rs next]) {

nsstring *name = [rs stringforcolumn:@"name"];

int age = [rs intforcolumn:@"age"];

double score = [rs doubleforcolumn:@"score"];

iOS資料持久化 FMDB

ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...

iOS 資料持久化之FMDB

新建乙個專案名為qzfmdb,開啟終端 cd users hongde desktop qzfmdb vim podfile鍵盤敲 i 輸入 target qzfmdb dopod jqfmdb end wq 回車鍵 pod install關掉專案 重新開啟qzfmdb.xcworkspace vi...

iOS終端資料持久化

ios有很多資料持久化技術,包括傳統的資料庫,但也有一些較新的技術,它主要的持久化技術有 資料庫 屬性列表 物件歸檔和。本節將分別介紹這四種持久化方式,輔助本文在設計與實現中針對不同的需求選擇合適的資料持久化方式。資料庫技術被廣泛的使用在各大系統中,資料庫也是乙個系統的核心部分,資料庫管理系統如今發...