常用工具數(shù)據(jù)庫(kù)03fmdb_第1頁(yè)
常用工具數(shù)據(jù)庫(kù)03fmdb_第2頁(yè)
常用工具數(shù)據(jù)庫(kù)03fmdb_第3頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、FMDB講師:明月心FMDB什么是FMDBFMDB是iOS平臺(tái)的SQLite數(shù)據(jù)庫(kù)框架FMDB以O(shè)C的方式封裝了SQLite的C語(yǔ)言APIFMDB的優(yōu)點(diǎn)使用起來(lái)更加面向?qū)ο?,省去了很多麻煩、冗余的C語(yǔ)言代碼對(duì)比蘋(píng)果自帶的Core Data框架,更加輕量級(jí)和靈活提供了多線程安全的數(shù)據(jù)庫(kù)操作方法,有效地防止數(shù)據(jù)混亂FMDB的github地址 核心類(lèi)FMDB有三個(gè)主要的類(lèi)FMDatabase一個(gè)FMDatabase對(duì)象就代表一個(gè)單獨(dú)的SQLite數(shù)據(jù)庫(kù)用來(lái)執(zhí)行SQL語(yǔ)句FMResultSet使用FMDatabase執(zhí)行查詢(xún)后的結(jié)果集FMDatabaseQueue用于在多線程中執(zhí)行多個(gè)查詢(xún)或更新,它是

2、線程安全的打開(kāi)數(shù)據(jù)庫(kù)通過(guò)指定SQLite數(shù)據(jù)庫(kù)文件路徑來(lái)創(chuàng)建FMDatabase對(duì)象FMDatabase *db = FMDatabase databaseWithPath:path;if (!db open) NSLog(數(shù)據(jù)庫(kù)打開(kāi)失??!);文件路徑有三種情況具體文件路徑如果不存在會(huì)自動(dòng)創(chuàng)建空字符串會(huì)在臨時(shí)目錄創(chuàng)建一個(gè)空的數(shù)據(jù)庫(kù)當(dāng)FMDatabase連接關(guān)閉時(shí),數(shù)據(jù)庫(kù)文件也被刪除nil會(huì)創(chuàng)建一個(gè)內(nèi)存中臨時(shí)數(shù)據(jù)庫(kù),當(dāng)FMDatabase連接關(guān)閉時(shí),數(shù)據(jù)庫(kù)會(huì)被銷(xiāo)毀執(zhí)行更新在FMDB中,除查詢(xún)以外的所有操作,都稱(chēng)為“更新”create、drop、insert、update、delete等使用exe

3、cuteUpdate:方法執(zhí)行更新- (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執(zhí)行查詢(xún)查詢(xún)方法- (FMResultSet *)executeQuery:(NS

4、String*)sql, .- (FMResultSet *)executeQueryWithFormat:(NSString*)format, .- (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)arguments示例/ 查詢(xún)數(shù)據(jù)FMResultSet *rs = db executeQuery:SELECT * FROM t_student;/ 遍歷結(jié)果集while (rs next) NSString *name = rs stringForColumn:name; int age

5、= rs intForColumn:age; double score = rs doubleForColumn:score;FMDatabaseQueueFMDatabase這個(gè)類(lèi)是線程不安全的,如果在多個(gè)線程中同時(shí)使用一個(gè)FMDatabase實(shí)例,會(huì)造成數(shù)據(jù)混亂等問(wèn)題為了保證線程安全,F(xiàn)MDB提供方便快捷的FMDatabaseQueue類(lèi)FMDatabaseQueue的創(chuàng)建FMDatabaseQueue *queue = FMDatabaseQueue databaseQueueWithPath:path;FMDatabaseQueue簡(jiǎn)單使用queue inDatabase:(FMDat

6、abase *db) db executeUpdate:INSERT INTO t_student(name) VALUES (?), Jack; db executeUpdate:INSERT INTO t_student(name) VALUES (?), Rose; db executeUpdate:INSERT INTO t_student(name) VALUES (?), Jim; FMResultSet *rs = db executeQuery:select * from t_student; while (rs next) / ;FMDatabaseQueue使用事務(wù)queue inTransaction:(FMDatabase *db, BOOL *rollback) db executeUpdate:INSERT INTO t_student(name) VALUES (?), Jack; db executeUpdate:INSERT INTO t_student(name) VALUES (?), Rose; db executeUpdate:INSERT INTO t_student(name) VALUES (?

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論