iOS本地資料庫FMDB的使用

2021-07-30 17:27:20 字數 2427 閱讀 2952

fmdb是一種第三方的開源庫,fmdb就是對sqlite的api進行了封裝,加上了物件導向的思想,讓我們不必使用繁瑣的c語言api函式,比起直接操作sqlite更加方便。

fmdb優點:

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

2.對比蘋果自帶的coredata框架,更加輕量級和靈活

3.提供多執行緒安全,有效地防止資料混亂,原來的sqlite不是執行緒安全

fmdb缺點:

因為是oc語言封裝的,失去了sqlite原來的跨平台性

一般的fmdb資料庫操作有:

1.建立資料庫

2.開啟資料庫、關閉資料庫

3.執行更新(增加、刪除、修改)的sql語句

4.執行查詢的sql語句

一、開啟資料庫

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

fmdatabase *db = [fmdatabase databasewithpath:path];

if (![db open])

檔案路徑有三種情況

(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])

**示例:

//mark:建立本地資料庫

- (void)createdatabase

else

}[db close];

}

增加資料:

-(void)insertcontentlist:(nsmutablearray*)data

}];if(data==nil||data.count<=0)

nsstring*insertcontentsql=@"insert into contentlist_tb(contentid ,contentname ,contentno,filename,filepath ,veision) values (?,?,?,?,?,?)";

[queue indatabase:^(fmdatabase *db)

}];更新資料:

fmdatabasequeue* queue=[fmdatabasequeue getshareddatabasequeue];

[queue indatabase:^(fmdatabase *db)

}];

查詢資料:

//根據filename查詢version

arguments = [nsmutablearray array];

[queue indatabase:^(fmdatabase *db)

[rs close];

}}];

[queue indatabase:^(fmdatabase *db) 

[rs close];

}}];

以上就是fmdb的基本使用方法和幾種基本的運算元據庫的方法,用起來簡單易懂,十分方便,大家盡可嘗試。

iOS 資料庫 FMDB使用

好久沒有寫oc 了,幹了一年的cocos2d x,終於又回歸ios了,這段時間翻看了以前寫的,試圖控制項基本總結完畢,還有一些不常用的以後再補充。後面有時間就寫一些其他的。今天就先寫一下資料庫和乙個三方fmdb。其實ios的資料儲存形式有很多,比如 檔案形式,nsuserdefault,資料庫等。檔...

iOS 資料庫操作 使用FMDB

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

iOS資料庫操作 使用FMDB

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