iOS数据库FMDB操作

时间:2020-07-11 14:04:22   收藏:0   阅读:75

1、获取操作对象、获取\创建数据库

2、FMDatabase 详细操作

if ([CHDbMgr open]) {
    [CHDbMgr executeUpdate:@"update t_ReadHistory set bookName = ? where bookId = ?", @"红楼梦", @(1001)];
}
if ([CHDbMgr open]) {
    // 如果表格存在 则销毁 
    [CHDbMgr executeUpadate:@"drop BookLibrary if existst t_ReadHistory;"];
}
if ([CHDbMgr open]) {
    BOOL success = [CHDbMgr executeUpdate:@"insert into t_ReadHistory(bookId, bookName, readTime) values(?,?,?);" , @(1001), @"西游记", @"2020年06月23日"];  
    if (success) {
        // 此处为刚才添加的自增id号
        NSInteger logid = CHDbMgr.lastInsertRowId;
        CHLog(@"NSInteger == %ld", logid);
    }
}

3、FMDatabaseQueue类 实现多线程操作

// 会通过block传递队列中创建好的数据库给我们
[CHDbQueue inDatabase:^(FMDatabase *db) {
    // 编写需要执行的代码
    NSString *sqlStr = NSStringFormat(@"CREATE TABLE IF NOT EXISTS t_ReadHistory(id INTEGER PRIMARY KEY AUTOINCREMENT, bookId INTEGER, bookName TEXT, readTime TEXT);");     

    BOOL success = [db executeUpdate:sqlStr];
    if (success) {
        CHLog(@"创建表成功");
    }
    else {
        CHLog(@"创建表失败");
    }
}];
// 会通过block传递队列中创建好的数据库给我们
[CHDbQueue inDatabase:^(FMDatabase *db) {
    // 编写需要执行的代码
    [db executeUpdate:@"insert into t_ReadHistory(bookId, bookName, readTime) values(?,?,?);" , @(1001), @"西游记", @"2020年06月23日"];  
    [db executeUpdate:@"insert into t_ReadHistory(bookId, bookName, readTime) values(?,?,?);" , @(1002), @"三国演义", @"2020年06月23日"];  
}];

原文:https://www.cnblogs.com/CH520/p/13179204.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!