使用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版本教程的更多相关文章

  1. 爬虫--selenium之 chromedriver与chrome版本映射表(最新至v2.46版本chromedriver)

    本文主要整理了selenium的chromedriver与chrome版本映射表,并且持续更新中..... 1.selenium之 chromedriver与chrome版本映射表(最新至v2.46版 ...

  2. RDIFramework.NET V2.9版本多语言的实现

    RDIFramework.NET V2.9版本多语言的实现 现在是国际化时代,软件也不能落后.一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文 ...

  3. RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能

    RDIFramework.NET  V2.9版本 WinFom部分新增与修正的功能 转眼间RDIFramework.NET框架走了快6个年头了,随着一个版本一个版本的升级改造,现在已经越来越完美了.使 ...

  4. RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布

    RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布 全新体验.全新感觉.2015钜献! 继上个版本“RDIFramework.NET V2.8版本发布”5 ...

  5. cocos引擎v2.1版本android 编译问题解决办法 (cocos2d-x-3.4rc1)

    下载了最新版的cocos v2.1.2beta,使用cocos.exe来创建项目,而且在最下方的附件功能里还勾选了“支持x86架构cpu”这个选项,导致使用build_native.py编译不通过,以 ...

  6. go-wingui 2018 全新 v2.0 版本发布,包含重大更新!

    go-wingui 2018 全新 v2.0 版本发布,包含重大更新!使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术.使用delphi7重写 ...

  7. 最新Android系统版本与API等级对应关系表

    最新Android系统版本与API等级对应关系表 从Android官网拷过来的,方便查阅... 官网地址:https://developer.android.com/guide/topics/mani ...

  8. 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github

    4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...

  9. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布

    (新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...

随机推荐

  1. php session的简单使用

    创建session: session_start(); $_SESSION['name'] = $value; 获取session: session_start(); echo $_SESSION[' ...

  2. Python+Selenium之cannot focus element 解决方法

    有时候刚进入页面输入第一个值时脚本会报错:cannot focus element 贴下我的脚本和解决办法供大家参考 我原本的脚本是: WebDriverWait(driver,15,0.5).unt ...

  3. (转)MySQL5.6主从复制技术

    原文:http://www.cnblogs.com/ilifeilong/category/1014799.html MySQL5.6复制技术(4)-MySQL主从复制过滤参数 摘要: 复制的过滤主要 ...

  4. vuex到底是什么?

    vuex到底是什么? 使用vue也有一段时间了,但是对vue的理解似乎还是停留在初始状态,究其原因,不得不说是自己没有深入进去,理解本质,导致开发效率低,永远停留在表面, 更坏的结果就是refresh ...

  5. HTTPS和SSL详解

    这是转载别人的(转:崔永秀) 把这几天学习到的关于ssl和https协议的内容在这里分享一下,适合一些像我一样的网络协议初学者. ssl协议的起源和历史我就不再多说了,就是那个Netscape 网景公 ...

  6. Java的协变、逆变与不可变

    package javase; import java.util.ArrayList; import java.util.List; class Animal{ } class Cat extends ...

  7. sqlite、mysql 将时间戳转换成本地时间语句

    sqlite:SELECT datetime(createdTime, 'unixepoch', 'localtime'); mysql:SELECT FROM_UNIXTIME( 124948800 ...

  8. Java入门系列-25-NIO(实现非阻塞网络通信)

    还记得之前介绍NIO时对比传统IO的一大特点吗?就是NIO是非阻塞式的,这篇文章带大家来看一下非阻塞的网络操作. 补充:以数组的形式使用缓冲区 package testnio; import java ...

  9. dns dig 查看支持ipv6网站

    1.处理zone文件 A.先格式化区文件数据,去掉不需要的数据,生成新的文件 com.zone.sample cat com.zone |grep -P IN'\t'NS|awk -F '\t' '{ ...

  10. MySQL 5.6内存占用过高解决方案

      距离MySQL 5.6正式发布已经有比较长的时间了,目前Oracle官网上的最新GA版本MySQL server也为5.6.但reizhi在安装配置后却发现其内存占用居高不下,无论如何调整cach ...