iOS 数据库开源框架FMDB的快速入门与使用
2013-11-13 12:56
603 查看
之前也用过原生的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的。
第一步就是定义数据库存放的位置,这里存到应用沙盒的document文件夹下。
dbPath就是数据库的路径了
,这里我们给数据库取名为MyDataBase.db,然后发送databaseWithPath消息来创建一个数据库。
如上图,我们成功在沙盒的Document文件夹下创建了MyDataBase.db数据库。
【注】:很多新手不知道怎么定位到沙盒下的某个文件夹,我的方法是可以先把需要的文件夹路径用NSLog打出来(因为运行的时候会产生一个UUID码,为程序命名,我们可不知道这个名字是什么。。)。上面我打出了documentDirectory路径,然后点击Finder,菜单栏选择“前往”,然后“前往文件夹。。”,把之前的路径复进去就OK了。
2)创建表
executeUpdate后面跟sql语句就行,sql基本语句忘了的话,查查就知道了。
3)增
增加了四条数据,同样是使用executeUpdate方法+sql语句来实现的。
我们使用SQLiteManager工具来查看结果,添加已经成功了。
4)删
结果:
5)改
6)查
先用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~
杨光(atany)原创,转载请注明博主与博文链接,未经博主允许,禁止任何商业用途。
博文地址:/article/7601647.html
博客地址:http://blog.csdn.net/yang8456211
本文遵循“署名-非商业用途-保持一致”创作公用协议
准备
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~
杨光(atany)原创,转载请注明博主与博文链接,未经博主允许,禁止任何商业用途。
博文地址:/article/7601647.html
博客地址:http://blog.csdn.net/yang8456211
本文遵循“署名-非商业用途-保持一致”创作公用协议
相关文章推荐
- iOS 数据库开源框架FMDB的快速入门与使用
- iOS开发——数据库(FMDB框架的使用)
- 【Android】ORM数据库框架之GreenDao快速入门与使用
- IOS开源框架FMDB的简单使用
- IOS-20-数据库操作之(SQLite第三方封装库FMDB)的基础入门使用及demo源码
- iOS学习 数据库 FMDB框架使用 UISearchBar搜索框 线程安全,事务
- iOS数据库操作之FMDB框架的使用
- 【Facebook的UI开发框架React入门之八】Image的使用简介(iOS平台)-goodmao
- iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频篇
- iOS之第三方FMDB框架操作数据库
- MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
- Android开源数据库框架-LitePal的使用
- Flex快速入门系列之三:Parsley框架简单使用(IOC以及message机制)
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是hibernate中默认的CacheProvider Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通
- iOS - 数据库 第三方框架FMDB
- iOS关于数据库的操作(使用第三方类库FMDB)
- 开源播放框架ijkplayer(iOS版)使用教程
- iOS学习笔记(十六)——数据库操作(使用FMDB)
- ios数据存储中关于Sqlite3使用第三方框架FMDB