FMDatabase 的使用方法

2021-06-29 02:18:44 字數 2774 閱讀 6677

ios

fmdatabase的使用方法

以下是fmdb的一些基本使用,fmdb框架其實只是一層很薄的封裝,主要的類也就兩個:fmdatabase和fmresultset;

其中的fmresultset物件讓我想起了android中sqlite的cursor集合啊。

fmdb的github位址是,

補充:是匯入fmdb之後,還要記得匯入ios的sqlite3framework,libsqlite3.0.dylib

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

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

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

nsarray *

paths

= nssearchpathfordirectoriesindomains

(nsdocumentdirectory, nsuserdomainmask, yes);  

nsstring *

documentdirectory

= [paths objectatindex:0];  

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

nsstring *

dbpath

fmdatabase *

db= [fmdatabase databasewithpath:dbpath] ;  

if (![db open])  

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

首先是建立表。

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

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

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

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

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

接下來是更新資料。

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

[db executeupdate:@"update user set 

name

= ? where 

name

= ? ",@"老婆",@"寶貝"]; 

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

//刪除資料  

[db executeupdate:@"delete from user where 

name

= ?",@"老婆"]; 

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

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

nsstring *

aa=[db stringforquery:@"select name from user where 

age= ?",@"20"]; 

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

fmresultset *

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

rs=[db executequery:@"select * from user where 

age= ?",@"20"];  

while ([rs next]) 

更多的fmresultset方法有:

intforcolumn:

longforcolumn:

longlongintforcolumn:

boolforcolumn:

doubleforcolumn:

stringforcolumn:

dateforcolumn:

dataforcolumn:

datanocopyforcolumn:

utf8stringforcolumnindex:

objectforcolumn:

- (nsstring*) getpath

1.建立資料庫

-(void)createtable;

[database

executeupdate

:@"create table if not exists mytable(aa float,bb text,cc integer,dd integer,ee text)"];

[database

close];

}2.查詢資料

-(void)querydata

[rs 

close];

[dbclose];

}3.更新資料

-(void)updatedata

}4。插入資料

-(void)insertdata

**:

iOS開發 FMDatabase 使用

id integer primary key autoincrement 設定自增長主鍵 指定資料儲存路徑 fmdatabase 管理資料的類 增 刪 改 查 fmdatabase database fmdatabase alloc initwithpath path open 開啟資料庫 檔案 如...

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...

機械秒錶的使用方法 秒錶的使用方法!

秒錶是一種常用的測時儀器。又可稱 機械停表 由暫停按鈕 發條柄頭 分針等組成。它是利用擺的等時性控制指標轉動而計時的。它是利用擺的等時性控制指標轉動而計時的。在它的正面是乙個大表盤,上方有乙個小表盤 圖1.4 2 秒針沿大表盤轉動,分針沿小表盤轉動。分針和秒針所指的時間和就是所測的時間間隔。在表正上...