系統的數據庫使用起來並不是很方便,比較繁瑣;比較優秀的,被大量使用的第三方數據庫當屬 FMDB; FMDB是一個封裝較好的數據庫管理工具 ,以下是它的詳細用法:
創建:
1.我將數據庫的創建路徑寫成了一個宏定義 :
#define DBPATH [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject stringByAppendingString:@"MyDatabase.db"]
爲穩妥起見,在appdelegate中創建數據庫:
我在這裏寫成了一個方法:
#pragram mark -------- 創建數據庫
- (void)createDBAndTable {
FMDatabase *db = [FMDatabase databaseWithPath: DBPATH];
if ([db open]) {
NSString *sql = [NSString stringWithFormat:@"create table %@(title text, access_url text, pictureURL text)",CollectionList];
BOOL res = [db executeUpdate:sql];
if (!res) {
}else{
}
}
}
2.往數據庫中添加數據
- (void)insertData{
FMDatabase *db = [FMDatabase databaseWithPath:DBPATH];
if ([db open]) {
NSString *insertSql = [NSString stringWithFormat:@"insert into %@ (title, access_url, pictureURL) values (?, ?, ?)", CollectionList];
[db executeUpdate:insertSql,self.model.title,self.model.access_url,self.model.pictureURL];
}
}
3. 從數據庫刪除數據
#pragma mark -------------- FMDB 刪除數據
- (void)deleteData{
FMDatabase *db = [FMDatabase databaseWithPath:DBPATH];
if ([db open]) {
NSString *sql = [NSString stringWithFormat:@"delete from %@ where title = ?",CollectionList];
[db executeUpdate:sql,self.model.title];
}
[db close];
}
4. 遍歷數據庫中的數據#pragma mark -------------- FMDB 刪除數據
- (void)readerData{
FMDatabase *db = [FMDatabase databaseWithPath:DBPATH];
if ([db open]) {
NSString *sql = [NSString stringWithFormat:
@"SELECT * FROM %@",CollectionList];
FMResultSet *result = [db executeQuery:sql];
button1.selected = NO;
while ([result next]) {
button1.selected = YES;
}
}
[db close];
}
需要注意幾點:
在創建數據庫的時候,在其它需要使用數據庫的地方,可以通過路徑獲得數據庫,從而對數據進行操作; 我們可以在一個工程中創建一個數據庫,在這個數據庫中創建多個表,我在創建表的時候,沒有設置表的key值,但會自動分配一個,最好還是自己設置一個key值;
數據庫的操作,就是增,刪,改,查四種情況,FMDB使得數據操作變得極爲簡便;
如有錯誤,請指正~~~~