iOS移动开发数据库相关操作,基于…


#pragma mark - FMDB 操作数据库


1.初始化一个数据库对象,关联路径,如果路径下的数据库不存在,open方法调用时会自动创建对应的数据库,若存在,打开当前路径下的数据库。

注:一个数据库对象只能操作一个数据库文件

DB_PATH :要创建或打开的数据库的路径


// 创建并打开数据库

- (void) createDatabase

{

    // 一个数据库对象只能操作一个数据库文件,关联路径

    _database = [[FMDatabase alloc] initWithPath:DB_PATH];

    // 打开数据库,如果没有就创建

    BOOL ret = [_database open];

    if (ret) {

        NSLog(@"数据库创建成功");

    }else{

        NSLog(@"路径错误");

    }

    

}


2.SQL语句操作,FMDatabase 执行语句有两种执行方式,

[_database executeUpdate:sql,…][_database executeQuery:sql]

第一种是除查询意外的语句操作,那么第二种你懂得,返回值是一个BOOL变量,

// 创建表

- (void) createTable

{

    // sql语句

    // sql不区分大小写,为了和字段和值区分,一般大写

    NSString * sql = @"CREATE TABLE 女演员(ID INTEGER PRIMARY KEY AUTOINCREMENT, 姓名 CHAR(128), 国籍 CHAR(128), 生日 DATE)";

    

    // 通过fmdb调用sql语句,调用sql语句

    BOOL ret = [_database executeUpdate:sql];

    if (ret) {

        NSLog(@"表达创建成功");

    }else{

        NSLog(@"sql创建表单错误");

    }

}



3.executeUpdate方法执行 SQL语句的两种方式

// 插入记录

- (void) insertRecord

{

#if 0

    // 方法1

    NSString * sql = @"INSERT INTO 女演员(姓名,国籍) VALUES ('舒淇', '中国香港')";

    BOOL ret = [_database executeUpdate:sql];


#else

    NSString * sql = @"INSERT INTO 女演员(姓名,国籍,生日) VALUES (?, ?, ?)";

    BOOL ret = [_database executeUpdate:sql, @"舒淇",@"中国香港",@"92-7-7"];

#endif

    if (ret) {

        NSLog(@"纪录添加成功");

    }else{

        NSLog(@"纪录添加失败");

    }

}


// 查找记录

- (void) selectRecords

{

    NSString * sql = @"SELECT * FROM 女演员";

    // 返回值是一个结果集

    FMResultSet * rs = [_database executeQuery:sql];

    

    while (rs.next) {

        NSLog(@"%d %@ %@ %@",[set intForColumn:@"ID"], [set stringForColumn:@"姓名"], [set stringForColumn:@"国籍"], [set stringForColumn:@"生日"]);

    }

    

}



4.操作完数据库一定要关闭数据库

// 关闭文件

- (void) closeDatabase

{

    [_database close];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值