首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
FMDB使用
】的更多相关文章
【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而FMDB最新的版本中主要是通过使用FMDatabaseQueue这个类来进行多线程处理的. 2. FMDatabaseQueue使用举例 // 创建,最好放在一个单例的类中 FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath…
【原】FMDB源码阅读(二)
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比如FMDB的executeUpdate:系列方法.数据库的加解密等等.这次写的就是对FMDatabase和FMResultSet这两个文件的补全内容.每次写这种补全的内容最头疼,内容会很分散,感觉没啥条理. 2. executeUpdate:系列函数 注意除了"SELECT"语句外,其他的…
【原】FMDB源码阅读(一)
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于FMDB组件我是一点都没用过.好在FMDB源码中的main.m文件提供了大量的示例,况且网上也有很多最佳实践的例子,我就不在这献丑了.我们先从一个最简单的FMDB的例子开始: // 找到用户目录下的Documents文件夹位置 NSString* docsdir = [NSSearchPathFor…
IOS FMDB 获取数据库表和表中的数据
ios开发中,经常会用到数据库sqlite的知识,除了增,删,改,查之外,我们说说如何获取数据库中有多少表和表相关的内容. 前言 跟数据库使用相关的一般的增删改查的语句,这里就不做解释了.在网上有很多.记得之前项目中曾经有这样的一个场景.一个数据库中存在了好几个表.假定我们不知道表名的前提下来获取这些数据. 数据库结构 下来看看数据库结构: 我们可以看到,在这个数据库文件中一共有10个表.我们的目的就是获取这些表中的内容. 获取数据库中有多少表 在这里我们使用的是 FMDB 来操作的.我们下打开…
简单的数据库设计及使用(FMDB)
有这样一个需求: 有m个用户公用n个文件,一个用户可能会用到多个文件,一个文件可能被多个用户使用: 如果某个用户离开,那这个用户就不再使用任何文件:如果某个文件没有任何用户使用,就要删除该文件: 已知某个用户正在使用某些文件,要求管理这个用户离开的时候,到底要不要删除他原来使用的文件. 这个问题对搞服务器开发的人来说可能就是几十分钟或者几分钟的事儿,但这对我一个iOS开发者来说,可就没那么容易了. 想了半天搞不定,最后还是向搞服务器的朋友们请教才弄出了个解决方案... 我只能说,数据库这么强…
FMDB的使用方法
转自:http://blog.devtang.com/blog/2012/04/22/use-fmdb/ 前言 SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可.但是,原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,开源社区中就出现了一系列将SQLite API进行封装的库,…
FMDB 排它锁
-------------------------------------基本操作------------------------------------- #import "ViewController.h" #import "FMDB.h" @interface ViewController () @property (nonatomic,strong)FMDatabase *dataBase; @end @implementation ViewControll…
[ios]关于用FMDB 操作数据库 删除 tableView 后刷新
刚了解使用fmdb,从数据库获取数据 绑定到一个可变数组classNameItems //从ClassList表取得数据 FMResultSet *classInfo=[db executeQuery:@"SELECT ClassName FROM ClassList"]; while ([classInfo next]) { [self.classNameItems addObject:[classInfo stringForColumn:@"ClassName"…
IOS数据存储之FMDB数据库
前言: 最近几天一直在折腾数据库存储,之前文章(http://www.cnblogs.com/whoislcj/p/5485959.html)介绍了Sqlite 数据库,SQLite是一种小型的轻量级的关系型数据库,不过直接用ios sdk提供的API来进行数据库开发,多多少少感觉不那么得心应手.后来也学了更加面向对象的CoreData数据库,不过coreData感觉对数据库的支持不太那么好,虽然操作方便,但是损失了性能以及效率,对于数据量比较大的app来说就有点不太合适了,如果有兴趣的可以看下…
FMDB第三方框架
FMDB是同AFN,SDWebImage同样好用的第三方框架,它以OC的方式封装了SQLite的C语言API,使得开发变得简单方便. 附上github链接https://github.com/ccgus/fmdb FMDB有三个主要的类 (1)FMDatabase 一个FMDatabase对象就代表一个单独的SQLite数据库 用来执行SQL语句 (2)FMResultSet 使用FMDatabase执行查询后的结果集 (3)FMDatabaseQueue 用于在多线程中执行多个查询或更新,它是…
iOS 学习 - 22 异步解析 JSON,使用 FMDB 存储,TableView 显示
前提是已经知道了有哪些 key 值 Model 类: .h @interface ListModel : NSObject @property (nonatomic, copy)NSString *time; @property (nonatomic, copy)NSString *cname; @property (nonatomic, copy)NSString *summary; @property (nonatomic, copy)NSString *title; @property (…
FMDB基本使用
1.打开数据库 #import "ViewController.h" #import "FMDB.h" @interface ViewController () @property (nonatomic, strong) FMDatabase *db; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //打开数据库 [self dbOpen]; } /**…
FMDB 数据库
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包. FMDB同时兼容ARC和非ARC工…
【原】iOS学习47之第三方-FMDB
将 CocoaPods 安装后,按照 CocoaPods 的使用说明就可以将 FMDB 第三方集成到工程中,具体请看博客iOS学习46之第三方CocoaPods的安装和使用(通用方法) 1. FMDB简介 1> 概述 iOS 中原生的 SQLite API 在进行数据存储的时候,需要使用 C语言 中的函数,操作比较繁琐.于是,就出现了一系列将SQLite API 进行封装的库,例如 FMDB.PlausibleDatabase.SQLitePersistentObjects 等. FMDB 是一…
FMDB简单封装和使用
工具:火狐浏览器+SQLite Manager插件 ; Xcode; FMDB库; 效果: 项目地址: https://github.com/sven713/PackFMDB 主要参考这两篇博客: 1. http://www.jianshu.com/p/dd170b1cbc3b iOS 基于FMDB简单封装 2. http://www.jianshu.com/p/54e74ce87404# FMDB的使用方法(附Demo) 使用步骤: 1.在工程中导入 libsqlite3.tdb 2.从Gi…
FMDB
一.FMDB简介 1.FMDB简介 iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较繁琐.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.SQLitePersistentObjects等. FMDB是一款简洁.易用的封装库.因此,在这里推荐使用第三方框架FMDB,它是对libsqlite3框架的封装,用起来的步骤与SQLite使用类似,并且它对于多线程的并发操作进行了处理,所以是线程安全…
第三方FMDB的简单使用
1,导入第三方头文件 #import "FMDB.h" //定义全局变量 @implementation InputInformationViewController { UITextField *_accountField;//帐号输入框 UITextField *_passwordsField;//密码输入框 FMDatabase *db;//数据库 } //获取数据库 NSString *doc = [NSSearchPathForDirectoriesInDomains(NSD…
FMDB中 databaseWithPath 的使用问题
阅读fmdb的源码文件(下载地址http://github.com/ccgus/fmdb)会发现下面一段注释,里面提到的创建数据库的方法也在很多博客中被引用,但是跑代码的时候发现,文件并不会像文档中所说的那样自动去创建(哪怕是在沙盒目录下的Documents目录下也不能创建成功) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #4cbf57 } p.p2 { margin: 0.0px 0.0px 0.0px…
FMDB浅析
一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQLite的API进行了封装,加上了面向对象的思想,让我们不必使用繁琐的C语言API函数,比起直接操作SQLite更加方便. FMDB优点: 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的CoreData框架,更加轻量级和灵活 提供多线程安全,有效地防止数据混乱,原来的SQLite不是线程安全的 FMDB缺点: 因为是OC语言封装的,失去了SQLite原来的跨平台性 我们要使用FMDB需要的步骤: 项目中添加…
FMDB读取Datetime类型值为1970的问题
1.问题 今天使用FMDB做一个例子程序,新建的一张表有一个datetime字段,数据库有默认值,大概如下 CREATE TABLE [ConsumptionType] ([id] INTEGER PRIMARY KEY NOT NULL ,[name] TEXT,[level] TEXT,[creatdate] DATETIME default (datetime('now', 'localtime'))) 当我每次去读取creatdate的时候获取到得值的是1970的时间,以前一直用字符串存…
iOS-数据持久化-第三方框架FMDB的使用
FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 3.FMDB的github地址 https://github.com/ccgus/fmdb 二.核心类 FMDB有三个主要的类 (1)FMDatabase 一个F…
从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCode进行IOS程序的开发,介绍使用FMDB对Sqlite数据库进行操作,以及对数据库操作类进行抽象设计,以期达到重用.简化.高效开发的目的. 在.NET领域开发了很多年,一般常见的项目都需要操作数据库,包括有Oracle.SqlServer.Mysql.Sqlite.Access等数据库,这些数据库是…
iOS 三方库fmdb 的使用
使用fmdb 做本地数据的存储非常方便, 1. github 上搜索fmdb 下载压缩包 导入到工程中 (如果你的mac 有cocoapod 也可以直接通过cocoapod 添加) 2. 以下代码是通过fmdb 多数据库的各种操作,其中有几点需要注意:(1). 程序中 Ceasar 是表名 (2). 修改数据库数据 提前准备字符串时 值 要用单引号括起来 否则会出错 : NSString *temp = [NSString stringWithFormat:@"UPDATE %@ SET…
【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)
上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下. 本文将不再过多的描述ReactiveCocoa.MVVM.FMDB的使用细节.关于ReactiveCocoa,我有一篇实用案例的博客: http://www.brighttj.com/ios/ios-reactivecocoa-utility-demo.html 文章介绍的更多的是我对这个框架设…
FMDB简单用法
首先引入类库 声明数据库和路径 /** 声明数据库对象 */ @property (nonatomic, strong) FMDatabase *dataBase; /** 声明存储路径 */ @property (nonatomic, strong) NSString *filePath; 创建表: #pragma mark - 创建表 - (void)createTable { // 1.创建sql语句 NSString *str = @"create table if not ex…
iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FMDB的使用... 例: 增,删,改,查,sqlite存取图片 有关框架的导入我在上一篇博客进行了详细介绍这里就不在介绍,没有看到上一篇博客的可以点击下面的连接. iOS sqlite3 的基本使用(增 删 改 查) 接下来我会按照上篇博客的顺序,模式进行介绍. (增删改查与sqlite存取图片我会通…
FMDB的简单使用
1.什么是FMDB? FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API. 无论项目中使用 ARC 还是 MRC,对 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配. 2.FMDB主要的类. 2.1.FMDatabase 一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句.通过指定SQLite数据库文件路径来创建FMDatabase对象. 在FMDB中,一般只要不是以 SELECT 开头的 SQL 语句,…
iOS本地存储-数据库(FMDB)
初识FMDB iOS中原声的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦,于是就出现了一系列将SQLite封装的库.本文讲解的FMDB就是其中的一个. FMDB PK Sqlite 优点: 1.对多线程的并发操作进行了处理,所以是线程安全的 2.以OC的方式封装了SQLite的C语言API,使用起来更加方便 3.FMDB是轻量级框架 使用灵活 缺点: 因为它是OC的语言封装的,只能在ios开发的时候使用,所以在实现跨平台操作的时候存在局限性. FMDB框架中重要…
FMDB处理动态插入语句
昨天做一个需求,参数的数量不确定,所以无法使用这个API: - (BOOL)executeUpdate:(NSString*)sql, ... 但是用 - (BOOL)executeUpdate:(NSString*)sql withParameterDictionary:(NSDictionary *)arguments 可以很方便地处理这个场景,本文总结一下 两类insert语句 因为不管使用哪种API,都需要先拼接sql语句,所以先了解一下sql insert语句的写法.有2种,比较常见的…
iOS FMDB 不需要关闭
以前做了一个应用,里面用到了FMDB,进行每一次操作前,都open,完成操作后都close.因为我是参考他们以前的代码.程序初期没发现什么问题,程序完成后,各种卡顿就出现了!即使我是放在新线程里操作的.仔细检查后发现,程序用在open 和 close上的cpu占有率异常地高,尤其是快速操作进行测试时.后来我查到了下面的帖子,原来,用错了! http://stackoverflow.com/questions/15720272/when-to-close-sqlite-database-using…