系统的数据库使用起来并不是很方便,比较繁琐;比较优秀的,被大量使用的第三方数据库当属 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使得数据操作变得极为简便;
如有错误,请指正~~~~