使用FMDB最新v2.3版本教程
使用FMDB教程

本教程针对于第一次接触开源库FMDB的同胞,从如何下载源码如何导入工程如何创建数据库如何写增删改查开始.使用的时最新版本的FMDB v2.3.
此教程开始日期为 2014.5.5
Preparation - 准备工作
首先,你得需要去下载源码 https://github.com/ccgus/fmdb
找到页面中的如是地方后下载ZIP包.

解压ZIP包后找到src文件夹

进入文件夹后,将文件夹extra以及fmdb拷贝到你新建的工程文件(默认开启ARC,本人已经不玩non-ARC了^_^)当中.


然后导入数据库的静态库.

之后在***.pch文件中导入头文件供全局使用

此刻已经完成了FMDB的配置以及导入.
Usage - 使用
为了教程的最大简洁性,本人连controller都不会创建,全部都在AppDelegate.m文件中完成所有的基本功能教程:).
请修改AppDelegate.m文件为如下形式:

好了,正式开始使用,首先创建数据库文件,创建一个表并插入一条数据:

至少已经执行成功了,我们来查看下沙盒中是否有创建好的数据库文件.

双击YouXianMing.db,发现数据被插进去了哦.

再次执行一遍程序,后打印如下:

这很正常,因为你已经创建了一个表了嘛:).
修改下源码再次插入一条记录:

检查一下:

以上就完成了基本的创建表以及插入两条记录的任务.
我们来执行查询操作.

使用起来就是这么方便呢.
查询操作的方法有着如下几种:

如何使用请自己查询文档,这也是我们作为程序员必须具备的素质,不能什么时候都靠别人哦.
我们来执行更新操作.


请注意,上面的更新方法并不推荐,本人只是为了最大限度的便于读者理解而直接这么写的,实际过程中是绝对不推荐这么玩的.
以下是官网推荐的一些使用方法:

增,改,查都有了,就差删除了,来试试如何删除吧.


你或许有一个疑问,为何删除属于 excuteUpdate 方法,这个很简单,请看官方文档:
Executing Updates
Any sort of SQL statement which is not a SELECT statement qualifies as an update. This includes CREATE, UPDATE, INSERT, ALTER, COMMIT, BEGIN, DETACH, DELETE, DROP, END, EXPLAIN, VACUUM, and REPLACE statements (plus many more). Basically, if your SQL statement does not begin with SELECT, it is an update statement.
任何一条SQL语句,如果不是SELECT,那就是update了.可用于update的包括了CREATE, UPDATE, INSERT, ALTER, COMMIT, BEGIN, DETACH, DELETE, DROP, END, EXPLAIN, VACUUM以及REPLACE.如果你的SQL语句不是做查询用的,那就是update语句,需要使用update系列的方法:).
Conclusion - 结论
FMDB就这么结束了么?差不多吧,增删改查创建表创建数据库都包含了,剩下的就是使用细节,诸如线程安全,如何操作了,本篇教程属于入门级别,能让你会用FMDB,至于如何详细的使用,就需要你自己细致的查看官方文档了.转载请注明出处 http://www.cnblogs.com/YouXianMing/
不提供源码是为了让读者自己去敲代码而已,截图已经把注释写得非常清晰了,模仿是最好的老师:)
使用FMDB最新v2.3版本教程的更多相关文章
- 爬虫--selenium之 chromedriver与chrome版本映射表(最新至v2.46版本chromedriver)
本文主要整理了selenium的chromedriver与chrome版本映射表,并且持续更新中..... 1.selenium之 chromedriver与chrome版本映射表(最新至v2.46版 ...
- RDIFramework.NET V2.9版本多语言的实现
RDIFramework.NET V2.9版本多语言的实现 现在是国际化时代,软件也不能落后.一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文 ...
- RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能
RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能 转眼间RDIFramework.NET框架走了快6个年头了,随着一个版本一个版本的升级改造,现在已经越来越完美了.使 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布
RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布 全新体验.全新感觉.2015钜献! 继上个版本“RDIFramework.NET V2.8版本发布”5 ...
- cocos引擎v2.1版本android 编译问题解决办法 (cocos2d-x-3.4rc1)
下载了最新版的cocos v2.1.2beta,使用cocos.exe来创建项目,而且在最下方的附件功能里还勾选了“支持x86架构cpu”这个选项,导致使用build_native.py编译不通过,以 ...
- go-wingui 2018 全新 v2.0 版本发布,包含重大更新!
go-wingui 2018 全新 v2.0 版本发布,包含重大更新!使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术.使用delphi7重写 ...
- 最新Android系统版本与API等级对应关系表
最新Android系统版本与API等级对应关系表 从Android官网拷过来的,方便查阅... 官网地址:https://developer.android.com/guide/topics/mani ...
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布
(新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...
随机推荐
- gVim安装vim-template插件后提示Undefined variable vim_template_subtype/Press ENTER or type command to continue
Win7 64位 gVim:version 8.1.1234 vim-template:github链接 安装方式: 直接下载master的zip压缩包,解压后放入本地gVim安装目录的plugin, ...
- 【云计算~Pig】一、基本语法
加载与存储 LOAD 将数据从外部文件或其它存储中加载数据,存入关系 STORE 将一个关系存放到文件系统或其它存储中 DUMP 将关系打印到控制台 过滤 FILTER 从关系中删除不需要的行 DIS ...
- FastDFS安装、配置、部署(一)-安装和部署 (转)
FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站 Fast ...
- TortoiseGit学习系列之TortoiseGit是什么?
写该文章目的 肯定有人会遇到这样的问题: 最近换了一份新工作,新公司的源码管理都是使用GIT,习惯了之前的TFS和SVN进行项目源码管理和团队开发,第一次使用GIT进行团队开发和源码管理,颇有一些不习 ...
- 转 Hibernate中cascade和inverse的作用
Inverse和cascade是Hibernate映射中最难掌握的两个属性.两者都在对象的关联操作中发挥作用.1.明确inverse和cascade的作用inverse 决定是否把对对象中集合的改动反 ...
- 【随笔】Linux主机简单判断CC攻击的命令
今天看到一个很有意思的命令tcpdump,在这里记录下. 如果想要看tcpdump的详细用法,可以点击这里. 什么是CC攻击? 关于CC攻击,这里引用百度的解释: CC攻击的原理就是攻击者控制某些主机 ...
- 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14
首先来段题外话:之前我发现我贴出的代码都没有行号,给讲解带来不便.所以从现在起,我要给代码加上行号.我写博客用的这个插入代码的插件,确实不支持自动插入行号.我真的没有找到什么好方法,无奈之下,只能按照 ...
- Delphi下OpenGL2d绘图(02)-画点
一.前言 图形的绘制可以使用glBegin().glEnd()之间完成,绘制的框架代码可以使用 Delphi下OpenGL2d绘图(01)-初始化 中的代码.修改的部份为 Draw 函数的内容. 二. ...
- php根据IP获取所在省份-淘宝api接口
这里用的file_put_contents,你也可以用别的,直接怼代码: //拼接传递的参数$ip = '175.12.53.12' $opts = array( 'http'=>array( ...
- Timer 控件
1. 设置属性 Enable = true 或调用 start方法后, *_Tick 方法不会立即执行,会先等待一个时间间隔 2.timer1不管你上次的事情是否做完,它都会每个一个时间间隔做它应该 ...