iOS - FMDB数据库的使用

下面不废话了直接上代码?
/* 首先把FMDB拖入到工程中,需要我们把sqlite3这个库导入工程,(若是非ARC的工程,我们可以直接导入就好) 数据库--》操作大量的有规律的数据 FMDB是别人在系统数据库的繁琐的基础上给又封装了一下,供我们使用,--》相比于系统数据库更简单,好用 FMDatabase 主要是提供操作时用得sql语句 FMDatabaseAdditions.h 只要是负责多线程或是查询时更新时的操作 FMDBResultSet 结果集,对数据库的操作,返回结果 */ //创建一个FMDatabase类的对象,这个对象用来操作数据库 db = [[FMDatabase alloc] initWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/pop.sqlite"]]; //打开数据库--》指的是打开时有可能会出现异常,若出现异常就关闭,若没有出现异常就直接执行下面的代码 if (![db open]) { //关闭数据库 [db close]; return; } //对数据库中表的操作,添加,删除,修改 //看表是不是在数据库 ---》执行表的操作,导入FMDatabaseAdditions.h if (![db tableExists:@"people"]) { [db executeUpdate:@"CREATE TABLE people (peopleid INTEGER PRIMARY KEY,peoplename TEXT,peopleage INTEGER)"]; } //关闭数据库 [db close ]; //插入 //打开数据库 if (![db open]) { [db close];
return; } //设置缓存---》提高效率 [db setShouldCacheStatements:YES]; //执行插入的操作 [NSNumber numberWithInt:22];把整数类型转换成NSNumber对象类型 [db executeUpdate:@"INSERT INTO people(peoplename,peopleage) VALUES (?,?)",@"白童童",[NSNumber numberWithInt:22]]; //关闭数据库 [db close]; //删除 要知道哪一行,-->上面去 if (![db open]) { [db close]; return; } BOOL isSuccess = [db executeUpdate:@"DELETE FROM people WHERE peopleid = ?",[NSNumber numberWithInt:_peopleId]]; //检测sql语句是否书写正确--》1时正确 0相反 NSLog(@"9------%d",isSuccess); [db close]; //更新 //打开数据库 if (![db open]) { [db close];
return; } //设置缓存 [db setShouldCacheStatements:YES]; //执行更新 [db executeUpdate:@"UPDATE people SET peoplename = ?WHERE peopleid=?",@"史冬峰",[NSNumber numberWithInt:_peopleId]]; [db close]; //更新UI //打开数据库 if (![db open]) { [db close]; return; } //设置缓存 [db setShouldCacheStatements:YES]; //执行查询 //添加,删除,修改,都是对数据库中的表进行操作,查询是把数据库中的数据给读取出来(结果集) FMResultSet *rs = [db executeQuery:@"SELECT *FROM people"]; //去创建一个数组出来用来保存读取出来的数据 //移除数组中已经添加过的数据,想要出现一次一个 [peopleArray removeAllObjects]; //遍历结果集,每次只读取一条数据 while ([rs next]) { //从结果集中把刚才读取的数据取出来,--》把取出的数据信息给封装一个people类--》创建people类 ZYPeople *p = [[ZYPeople alloc] init];
//根据数据在数据库中的类型来取(字段--字段类型)--》去给people描述几个相应的属性 p.pID = [rs intForColumn:@"peopleid"]; p.pName = [rs stringForColumn:@"peoplename"]; p.pAge = [rs intForColumn:@"peopleage"]; [peopleArray addObject:p]; } //关闭结果集 [rs close]; //关闭数据库 [db close]; [。。。 reloadData];

 

转载于:https://www.cnblogs.com/baitongtong/p/5951777.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值