iOS数据库操作之FMDB
|
FMDatabase.h
FMDatabase.m
FMDatabaseAdditions.h
FMDatabaseAdditions.m
FMDatabasePool.h
FMDatabasePool.m
FMDatabaseQueue.h
FMDatabaseQueue.m
FMResultSet.h
FMResultSet.m
|
|
//用指定的数据库名实例化一个数据库,没有此文件则创建
FMDatabase *db = [FMDatabase databaseWithPath:filePath];
"" 在临时目录创建一个空的数据库,数据库关闭后会自动删除
NULL 在内存中创建一个空的数据库,数据库关闭后会自动删除
//打开数据库,资源不足或权限不够会打开失败
if (![db open])
{
NSLog(@"数据库打开失败");
}
//用完后需要关闭
[db close];
|
|
[db executeQuery:sql];
FMResultSet *rs = [db executeQuery:@"SELECT * FROM TableName"];
{
while ([rs next])
{
//获取查询结果,即使结果只有一条
}
}
|
|
[db beginTransaction];
//需要执行的操作
[db commit];
FMResultSet *rs;
FMResultSet可以不手动关闭,当数据库关闭时,会跟着关闭。
2.FMDatabaseQueue 线程安全,所有的数据库操作会在队列中顺序执行
[FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:path];
queue inDatabase:^(FMDatabase *db) {
//
}];
queue inTransaction:^(FMDatabase *db, BOOL *rollback) {
//
}
|
最新内容请见作者的GitHub页:http://qaseven.github.io/