iOS - FMDB数据库的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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];
以上是关于iOS - FMDB数据库的使用的主要内容,如果未能解决你的问题,请参考以下文章