FMDB對sqlite的操作

2021-06-16 17:31:38 字數 2014 閱讀 1582

首先要先導入第三方類庫fmdatabase

獲得存放資料庫檔案的沙盒位址 +(nsstring *)databasefilepath

建立資料庫的操作 +(void)creatdatabase

建立表 +(void)creattable

//判斷資料庫是否已經開啟,如果沒有開啟,提示失敗 

if (![

dbopen])

//為資料庫設定快取,提高查詢效率 

[dbsetshouldcachestatements

:yes];

//判斷資料庫中是否已經存在這個表,如果不存在則建立該錶

if(![dbtableexists

:@"people"

])

}增加表資料 +(void)insertpeople:(people *)apeople

if (![

dbopen])

[dbsetshouldcachestatements

:yes];

if(![

dbtableexists

:@"people"

])

//以上操作與建立表是做的判斷邏輯相同

//現在表中查詢有沒有相同的元素,如果有,做修改操作 

fmresultset

*rs = [

dbexecutequery

:@"select * from people where people_id = ?"

,[nsstring

stringwithformat

:@"%d"

,apeople.

peopleid

]];

if([rs 

next])

//向資料庫中插入一條資料 

else

}刪除資料 +(void)deletepeoplebyid:(int)id

if (![

dbopen])

[dbsetshouldcachestatements

:yes];

//判斷表中是否有指定的資料, 如果沒有則無刪除的必要,直接return

if(![dbtableexists

:@"people"

])

//刪除操作 

[db executeupdate

:@"delete from people where people_id = ?"

, [nsstring

stringwithformat

:@"%d"

,id]];

[ db

close]; }

修改操作與增加操作的步驟一致

查詢 +(nsarray *)getallpeople

if (![

dbopen])

[dbsetshouldcachestatements

:yes];

if(![

dbtableexists

:@"people"

])

//定義乙個可變陣列,用來存放查詢的結果,返回給呼叫者 

nsmutablearray

*peoplearray = [[nsmutablearray

alloc

] initwitharray:0

];

//定義乙個結果集,存放查詢的資料

fmresultset

*rs = [

dbexecutequery

:@"select * from people"

];

//判斷結果集中是否有資料,如果有則取出資料

while ([rs 

next])

return [peoplearray 

autorelease]; }

sqlite 操作 使用FMDB

alter table table name add column column name column type 例如在student表中新增一列名為name,型別為varchar alter table student add column name varchar alter table st...

FMDB 我的SQLite救星

13 則迴響 發文作者 bonjouryentinglai 於 2011 03 20 5 votes 好滴 離上次發文又給他隔了三個月,為什麼咧?因為林盃我很忙,這三個月我跑去訂婚 結婚 歸寧外加峇裡島蜜月,所以部落格就這麼給他放著了。以為這裡不會再更新的朋友們 快回來哦 有新文章了。這次要分享的是...

jdbc 對sqlite的基本操作

1.向資料庫中建立表 public void addtable string dbpath catch exception e 2.從 db 檔案中刪除表 這裡只貼出來語句其他都一樣 判斷巡檢表是否存在 存在 則刪除 string deletetablesql drop table if exist...