标签:
ARC 和 MRC
FMDB作为一个优秀的通用第三方数据库框架,无论在ARC还是MRC下,都可以自动匹配。
使用
在FMDB中,有三个重要的类:
数据库的创建和使用
代码示例
- (void)viewDidLoad {
[super viewDidLoad];
//获取沙盒路径的方法一
//实例化一个FMDatabase对象,并打开一个数据库,如果没有这个数据库,就会创建一个数据库
// NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//
// NSString *documentDirectory = [paths objectAtIndex:0];
//
// NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];
//获取沙盒的路径的方法二
NSString *dbPath = [NSString stringWithFormat:@"%@/Documents/xiaoming.db", NSHomeDirectory()];
NSLog(@"%@", dbPath);
//创建库
FMDatabase *db = [FMDatabase databaseWithPath:dbPath];
//判断如果数据库打开失败,就什么都不做
if(![db open])
{
return;
}
//创建表
[db executeUpdate:@"CREATE TABLE Users(Name text, Age integer)"];
//插入数据
[db executeUpdate:@"INSERT INTO Users(Name, Age)VALUES(?,?)",@"Eric",[NSNumber numberWithInt:25]];
NSString *userName1 = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];
NSLog(@"%@", userName1);
//更新数据
[db executeUpdate:@"UPDATE Users SET Name = ? WHERE Name = ?",@"Michael",@"Eric"];
//删除数据
// [db executeUpdate:@"DELETE FROM Users WHERE Name = ?", @"Michael"];
//查询数据
NSString *userName = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];
NSLog(@"%@", userName);
//查询多个数据,FMResultSet类,是一个结果集,返回多条数据,FMDB会将数据放在这个结果集中,然后在对这个结果集进行查询即可
FMResultSet *res = [db executeQuery:@"SELECT * FROM Users"];
res = [db executeQuery:@"SELECT * FROM Users WHERE Age = ?", @"25"];
while ([res next]) {
NSString *name = [res stringForColumn:@"Name"];
NSString *age = [res stringForColumn:@"Age"];
NSLog(@"%@%@", name, age);
}
}
输出结果
标签:
原文地址:http://www.cnblogs.com/songyan-Z221/p/5834163.html