FMDB数据库使用

Posted pjfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FMDB数据库使用相关的知识,希望对你有一定的参考价值。

创建数据库路径

NSString* docsdir = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

NSString* dbpath = [docsdir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.sqlite",sqlName]];

注:sqlName  数据库名称

//创建数据库

FMDatabase *dataBase = [FMDatabase databaseWithPath:dbPath];

if ([dataBase open]) {  //打开数据库

NSString *sqlStr = [NSString stringWithFormat:@"CREATE TABLE ‘%@‘ (",tableName];

注:tableName  创建表名      keyAll  表中字段的数组集合

for (int i = 0 ; i < keyAll.count; i++) {

sqlStr = [sqlStr stringByAppendingString:[NSString stringWithFormat:@"‘%@‘ VARCHAR(30)",keyAll[i]]];

if (i == keyAll.count-1) {

sqlStr = [sqlStr stringByAppendingString:@")"];

}else{

sqlStr = [sqlStr stringByAppendingString:@","];

}

}

BOOL res = [dataBase executeUpdate:sqlStr];

if (!res) {

NSLog(@"error when creating db table");

}else{

NSLog(@"succ to creating db table");

}

[dataBase close];

}

插入数据

NSString *sqlStr = @"INSERT INTO    tableName (name , age)values(? , ?)"

[db executeUpdate:sqlStr,@"小明", @"17"];

修改数据

NSString *uadataSql = [NSString stringWithFormat:@"update %@ set age = (?) where name = ‘小明‘",tableName];

[dataBase executeUpdate:uadataSql,@"12"];

 

以上是关于FMDB数据库使用的主要内容,如果未能解决你的问题,请参考以下文章

fmdb 路径并第二次从另一个 viewController 使用 db

FMDB 未插入数据库

FMDB - 无法从 Cocoa 修改数据库

iOS的SQLite利用FMDB进行操作时无法打开数据库

FMDB:提前放数据

iOS 设备上的 SQLCipher + DB 性能较差