FMDB数据库简单使用

上一篇文章sqlite3原生数据库简单使用 介绍了sqlite3原生数据库的简单使用,由于执行语句都是C语言写的,导致看起来操作非常不方便,因此便根据数据库封装了一个很好用的第三方框架,以下是他的简单操作

- (void)viewDidLoad
{
    [super viewDidLoad];
	NSLog(@"%@",NSHomeDirectory());
    NSString *path = [NSHomeDirectory()stringByAppendingPathComponent:@"Documents/database.sqlite"];
    //根据路径创建了一个数据库操作对象(并没有创建数据库)。
    _db = [[FMDatabase alloc]initWithPath:path];
    //打开数据库(如果不存在就创建并打开)
    if ([_db open])
    {
        NSLog(@"打开成功!");
    }
    else
    {
        NSLog(@"打开失败!");
    }
}

//创建一张表
- (IBAction)creatTableClick:(UIButton *)sender
{
    //executeUpdate(增、删、改) 执行一段sql语句
    [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS people (peopleID INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER)"];
}

//插入一条数据
- (IBAction)insertDataClick:(UIButton *)sender
{
    NSString *sql = [NSString stringWithFormat:@"INSERT INTO people (name,age)VALUES('%@',%lu)",_nameField.text,_ageField.text.integerValue];
    [_db executeUpdate:sql];
    _nameField.text = @"";
    _ageField.text = @"";
}

//搜索所有联系人
- (IBAction)selectAllDataClick:(UIButton *)sender
{
    //executeQuery  查询数据库
    //FMResultSet 结果集,查询的结果都在结果集当中
    FMResultSet *set = [_db executeQuery:@"SELECT * FROM people"];
    //next 方法 进入下一行数据,如果有下一行数据,返回YES,没有下一行数据返回NO
    while ([set next])
    {
        //intForColumn       取出当前行某列的整形数据
        //intForColumnIndex  取出某列的整形数据
        NSInteger peopleID = [set intForColumn:@"peopleID"];
        NSString *name = [set stringForColumn:@"name"];
        NSInteger age = [set intForColumn:@"age"];
        NSLog(@"%lu--------%@-------%lu",peopleID,name,age);
    }
    //关闭结果集
    [set close];
}

FMDB数据库简单使用_第1张图片

你可能感兴趣的:(FMDB)