iOS 数据库开源框架FMDB的快速入门与使用
来源:互联网 发布:java细粒度数据级权限 编辑:程序博客网 时间:2024/06/06 04:29
之前也用过原生的Sql,但是确实FMDB更加的轻便好用,现在,就用最简单的语言记录一下FMDB的用法。
准备
1)首先下载FMDB开源框架,https://github.com/ccgus/fmdb。
2)解压得到fmdb-master文件夹,我们只需要拷贝src文件夹的文件到项目就可以了。
3)删除src文件夹中fmdb.m这个文件,不要担心,这只是一些例子,如果不删会报duplicate symbol_main错误。
4)添加库
添加libsqlite3,因为FMDB也是基于Sqlite的。
基本语法
1)创建数据库
第一步就是定义数据库存放的位置,这里存到应用沙盒的document文件夹下。
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentDirectory = [paths objectAtIndex:0];
- NSLog(@"%@",documentDirectory);
- NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"MyDataBase.db"];
- FMDatabase *db = [FMDatabase databaseWithPath:dbPath] ;
- if (![db open]) {
- NSLog(@"打开数据库失败");
- assert(NO);
- }
dbPath就是数据库的路径了,这里我们给数据库取名为MyDataBase.db,然后发送databaseWithPath消息来创建一个数据库。
如上图,我们成功在沙盒的Document文件夹下创建了MyDataBase.db数据库。
【注】:很多新手不知道怎么定位到沙盒下的某个文件夹,我的方法是可以先把需要的文件夹路径用NSLog打出来(因为运行的时候会产生一个UUID码,为程序命名,我们可不知道这个名字是什么。。)。上面我打出了documentDirectory路径,然后点击Finder,菜单栏选择“前往”,然后“前往文件夹。。”,把之前的路径复进去就OK了。
2)创建表
- [db executeUpdate:@"CREATE TABLE Person (Name text,Age integer)"];
executeUpdate后面跟sql语句就行,sql基本语句忘了的话,查查就知道了。
3)增
- [db executeUpdate:@"INSERT INTO Person (Name,Age) VALUES (?,?)",@"Atany",[NSNumber numberWithInt:22]];
- [db executeUpdate:@"INSERT INTO Person (Name,Age) VALUES (?,?)",@"Mary",[NSNumber numberWithInt:20]];
- [db executeUpdate:@"INSERT INTO Person (Name,Age) VALUES (?,?)",@"Peter",[NSNumber numberWithInt:38]];
- [db executeUpdate:@"INSERT INTO Person (Name,Age) VALUES (?,?)",@"Henry",[NSNumber numberWithInt:15]];
增加了四条数据,同样是使用executeUpdate方法+sql语句来实现的。
我们使用SQLiteManager工具来查看结果,添加已经成功了。
4)删
- [db executeUpdate:@"DELETE FROM Person WHERE Name = ?",@"Mary"];
结果:
5)改
- [db executeUpdate:@"UPDATE Person SET Age = ? WHERE Name = ? ",[NSNumber numberWithInt:100],@"Henry"];
6)查
- NSLog(@"-----------------------------------");
- NSInteger i = 1;
- FMResultSet *rs = [db executeQuery:@"SELECT * FROM Person"];
- while ([rs next]) {
- NSString *name = [rs stringForColumn:@"Name"];
- NSString *age = [rs stringForColumn:@"Age"];
- NSLog(@"第[%d]条数据",i++);
- NSLog(@"Name:%@",name);
- NSLog(@"age:%@",age);
- }
- NSLog(@"-----------------------------------");
先用executeQuery得到结果集,然后通过next消息遍历结果集,使用stringForColumn方法取对应的值。
结果:
2013-11-13 11:19:24.930testFMDB[6875:c07] -----------------------------------
2013-11-13 11:19:24.931testFMDB[6875:c07]第[1]条数据
2013-11-13 11:19:24.931 testFMDB[6875:c07] Name:Atany
2013-11-13 11:19:24.931 testFMDB[6875:c07] age:22
2013-11-13 11:19:24.931 testFMDB[6875:c07]第[2]条数据
2013-11-13 11:19:24.932 testFMDB[6875:c07] Name:Peter
2013-11-13 11:19:24.932 testFMDB[6875:c07] age:38
2013-11-13 11:19:24.932 testFMDB[6875:c07]第[3]条数据
2013-11-13 11:19:24.932 testFMDB[6875:c07] Name:Henry
2013-11-13 11:19:24.932 testFMDB[6875:c07] age:100
FMDB的使用确实挺方便的,如果进行开发的话,我比较喜欢使用FMDB~
原blog地址:http://blog.csdn.net/yang8456211/article/details/15811375
- iOS 数据库开源框架FMDB的快速入门与使用
- iOS 数据库开源框架FMDB的快速入门与使用
- IOS开源框架FMDB的简单使用
- 数据库框架FMDB的使用
- iOS开发——数据库(FMDB框架的使用)
- iOS数据库FMDB的使用
- iOS平台的数据库框架 FMDB
- IOS FMDB框架 简单粗暴的使用
- IOS FMDB框架 简单粗暴的使用
- IOS开发基础:FMDB框架的使用
- 【iOS】数据库FMDB的使用(一)
- 【iOS】数据库FMDB的使用(二)
- iOS本地数据库FMDB的使用
- iOS,FMDB的介绍与使用
- 【Android】ORM数据库框架之GreenDao快速入门与使用
- iOS数据库操作(使用FMDB)
- iOS 数据库fmdb中使用
- ios数据库之fmdb 使用
- 第二周作业03 -- 随机生成一个n位的二进制数(质数)对应的长质数
- 慎用位图索引
- android 广播机制
- 洗牌算法
- Linux下完全删除Oracle
- iOS 数据库开源框架FMDB的快速入门与使用
- c++操作mysql - 查询结果集
- HTTP判断文件是否下完
- unity3d关于天空变换代码下载
- 使用org.apache.tools.zip实现zip压缩和解压
- 苹果开发者账号申请
- PCA ,PCAWhitening ,ZCAWhitening
- GCD介绍
- 文件File path与content:// Uri的相互转换