FMDB使用

创建工程文件FMDBTry

本次采用CocoaPods添加FMDB第三方库

打开Terminal

Terminal:cd 至FMDBTry文件夹内

Terminal:pod search 'FMDB'

选择合适的第三方库,例如:pod 'FMDB', '~> 2.5'

Terminal:touch Podfile

打开Podfile 将pod 'FMDB', '~> 2.5'写入

Terminal:pod install


打开FMDBTry.xcworkspace

ViewController.m

拿到沙盒路径

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

拼接路径

NSString * dbpath = [docsdir stringByAppendingPathComponent:@"student.sqlite"];

创建表文件

FMDatabase * db = [FMDatabase databaseWithPath:dbpath];

打开表文件并创建一个模型类(类名:t_student,属性包括:id,name,age,其中id会逐渐自动加1

[db open]
[db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_student (id integer PRIMARY KEY AUTOINCREMENT, name text NOT NULL, age integer NOT NULL);"];

增加一个t_student的对象并赋值(名字:me,年龄:随机数)

 // executeUpdate : 不确定的参数用?来占位
   [self.db executeUpdate:@"INSERT INTO t_student (name, age) VALUES (?, ?);", @"me", @(arc4random_uniform(40))];
删除t_student这个模型类

[self.db executeUpdate:@"DROP TABLE IF EXISTS t_student;"];
//删除t_student模型类中id = 1的对象
[self.db executeUpdate:@"delete from t_student where id = ?", [NSString stringWithFormat:@"%d",1]];


修改数据 将t_student内的id = 1的数据的name属性修改为 me

//FMResultSet * resultSet = [self.db executeQuery:@"select * from t_student"];
//    while ([resultSet next]) {
//      int ID = [resultSet intForColumn:@"id"];        
        [self.db executeUpdate:@"update  t_student set name = ? where id = ?",@"me",@"1"];
        
//    }


查询t_student的全部数据

FMResultSet * resultSet = [self.db executeQuery:@"select * from t_student"];
    while ([resultSet next]) {
        int ID = [resultSet intForColumn:@"id"];
        NSString * name = [resultSet stringForColumn:@"name"];
        int age = [resultSet intForColumn:@"age"];
        NSLog(@"1. %d 2.%@ 3.%d",ID,name,age);
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值