美文网首页
sqlite,FMDB简单使用

sqlite,FMDB简单使用

作者: karthus | 来源:发表于2016-05-31 21:03 被阅读42次
以下代码适用于直接在代码中操作数据库,实际中可以使用navicat图形化界面先进行数据库测试数据的填充,在APP启动时,将.sqlite文件拷贝至沙盒目录下

1.创建数据库
#define DBNAME @"testDB.sqlite"
-(void)creatDataBase
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents = [paths objectAtIndex:0];
NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];

BOOL isExist = [[NSFileManager defaultManager] fileExistsAtPath:database_path];
if (isExist) {
    return;
}

FMDatabase *db = [FMDatabase databaseWithPath:database_path];
if (![db open]) {
    NSLog(@"打开数据库失败");
  }
}

2.创建表t_test
ID主键,自增整型,向表中添加数据时ID填NULL即可;BLOB存储二进制数据

NSString *sqlCreateTable = @"CREATE TABLE IF NOT EXISTS t_test (ID INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT,thumb BLOB)";
[db executeUpdate:sqlCreateTable];

3.向表中添加数据

//将数组类型转成NSData对应数据库BLOB类型
 NSArray *imgAry = @[@"aa",@"bb",@"cc"];
 NSData *imgData = [NSKeyedArchiver archivedDataWithRootObject:imgAry];

[db executeUpdate:@"INSERT INTO t_test (ID, title,thumb) VALUES (?,?,?)",
 [NSNumber numberWithInt:1],@"xxxxx",
 ];

4.获取数据库中的数据
假设Test类有三个属性对应表中三个字段,dataArray就是获取到的数据库中的数据

FMDatabase *db = [FMDatabase databaseWithPath:database_path];
if (![db open]) {
    NSLog(@"打开数据库失败");
}else{
    FMResultSet *rs = [db executeQuery:@"SELECT * FROM t_test"];
    NSMutableArray *dataArray = [NSMutableArray array];
    while ([rs next]) {
        Test *test = [[Test alloc] init];
        test.id = [rs intForColumn:@"ID"];
        test.title = [rs intForColumn:@"title"];
        test.thumb = [NSKeyedUnarchiver unarchiveObjectWithData:[rs dataForColumn:@"thumb"]];
    [dataArray addObject:test];
    } 
    [rs close];
}

相关文章

  • iOS开发--SQLite重要框架FMDB的使用

    iOS开发--SQLite重要框架FMDB的使用 iOS开发--SQLite重要框架FMDB的使用

  • sqlite,FMDB简单使用

    以下代码适用于直接在代码中操作数据库,实际中可以使用navicat图形化界面先进行数据库测试数据的填充,在APP启...

  • FMDB与JKDBModel在工程中使用

    FMDB: 由于iOS系统原生的SQLite API在使用上过于繁琐,FMDB就是将原生的api封装成简单容易使用...

  • SQLite数据库框架之FMDB(Swift)

    FMDB使用 FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API ...

  • FMDB

    # FMDB基本使用 FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言...

  • iOS数据存储之FMDB

    FMDB介绍 FMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言API使用...

  • FMDB 的使用

    FMDB 是对 sqlite 的封装,该文章通过使用 FMDB 对学生数据进行操作,学习记录 FMDB 的使用。1...

  • Swift(FMDB的简单使用)

    一、FMDB的简单介绍 1.1、FMDB 的概念FMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封...

  • iOS开发之FMDB的使用

    要使用FMDB,先要添加库文件libsqlite3.tbd FMDB的介绍 FMDB是iOS平台的SQLite数据...

  • Swift中使用FMDB IOS

    18-(掌握)FMDB基本使用 什么是FMDB?FMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封...

网友评论

      本文标题:sqlite,FMDB简单使用

      本文链接:https://www.haomeiwen.com/subject/pgacdttx.html