首先要先導入第三方類庫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([rsnext])
//向資料庫中插入一條資料
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...