Iphone中使用FMDB框架

2021-06-01 11:01:40 字數 2140 閱讀 1624

**:
1、首先得例項化乙個fmdatabase物件,這跟sqlitepersistentobjects 派生乙個子類進行操作是不同。接著開啟乙個資料庫(如果沒有會建立乙個資料庫)

view plain

//paths: ios下document路徑,document為ios中可讀寫的資料夾

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);

nsstring *documentdirectory = [paths objectatindex:0];

//dbpath: 資料庫路徑,在document中。

//建立資料庫例項 db 這裡說明下:如果路徑中不存在"test.db"的檔案,sqlite會自動建立"test.db"

fmdatabase *db= [fmdatabase databasewithpath:dbpath] ;

if (![db open])

接下來,我們可以通過這個資料庫物件進行操作了。操作主要是update和queries。

首先是建立表。

view plain

//建立乙個名為user的表,有兩個字段分別為string型別的name,integer型別的 age

[db executeupdate:@"create table user (name text,age integer)"];

這樣我們就有了一張表了。接下我們對錶進行操作。插入資料!注意插入的資料使用了萬用字元,這跟iphone直接使用sqlite藉口的繫結變數是一樣的,後面的萬用字元匹配的資料。

view plain

//插入資料使用oc中的型別 text對應為nsstring integer對應為nsnumber的整形

[db executeupdate:@"insert into user (name,age) values (?,?)",@"老婆",[nsnumber numberwithint:20]]

接下來是更新資料。

view plain

//更新資料 將「老婆」更改為「寶貝」

[db executeupdate:@"update user set name = ? where name = ? ",@"老婆",@"寶貝"];

再接下來,就是刪除資料啦。

view plain

//刪除資料

[db executeupdate:@"delete from user where name = ?",@"老婆"];

update的基本操作就這幾個,接下來是queries!

view plain

//返回資料庫中第一條滿足條件的結果

nsstring *aa=[db stringforquery:@"select name from user where age = ?",@"20"];

這樣我們就查詢返回了一條資料,那當我們想要查詢放返回多條資料怎麼辦呢?不用愁,之前我就提到了fmdb中的另外乙個主要的類,fmresultset,這是乙個結果集!返回多條資料時fmdb會將資料放在這個結果集中,然後我們在對這個結果集進行查詢操作!很簡單。

view plain

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

rs=[db executequery:@"select * from user where age = ?",@"20"];

while ([rs next])

intforcolumn:

longforcolumn:

longlongintforcolumn:

boolforcolumn:

doubleforcolumn:

stringforcolumn:

dateforcolumn:

dataforcolumn:

datanocopyforcolumn:

utf8stringforcolumnindex:

objectforcolumn:

在iOS開發中使用FMDB

sqlite 是乙個輕量級的關聯式資料庫。ios sdk很早就支援了sqlite,在使用時,只需要加入 libsqlite3.dylib 依賴以及引入 sqlite3.h 標頭檔案即可。但是,原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,開源社群中就出現了一系列將sqlit...

在iOS開發中使用FMDB

sqlite 是乙個輕量級的關聯式資料庫。ios sdk很早就支援了sqlite,在使用時,只需要加入 libsqlite3.dylib 依賴以及引入 sqlite3.h 標頭檔案即可。但是,原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,開源社群中就出現了一系列將sqlit...

在iOS開發中使用FMDB

sqlite 是乙個輕量級的關聯式資料庫。ios sdk很早就支援了sqlite,在使用時,只需要加入 libsqlite3.dylib 依賴以及引入 sqlite3.h 標頭檔案即可。但是,原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,開源社群中就出現了一系列將sqlit...