IOS开发——使用数据库
IOS开发——使用FMDB数据库
简介
需求作用:
如果需要保存大量的结构较为复杂的数据的时候,使用数据库,例如交规考试项目
1、数据库的基本介绍
数据库(DB)是一种数据模型组织起来并存放存储管理的数据仓库。它是由文件管理发展起来的,如今的数据库基本上都是关系型数据库。
数据库的基本操作是增、删、查、改。
常见的几种数据库,Oracle,Access,SQL Server,DB2,Mysql
手机上使用的数据库为SQLite,因为它占用资源很好,易于配置等原因。
2、mesaSQLite 使用
实例: 使用数据存储存储一个班上学生的信息
学号:sid 用户名:username 密码:password 成绩:score 1501 zhangs 123 100 1502 heihei 321 90
(1)创建数据库
可以直接在菜单栏中选中new database 创建出一个新的数据库。
(2)创建数据表
数据表的创建方式比较多一点,可以在structure中点击+号进行创建。然
在SQL Query中输入创建语句 create table tablename(id 类型,name 类型) (直接在下方的输入框中输入)
(3)SQL结构化查询语句
首先必须要有数据,加入数据的操作为insert into tablename (id,name) values (11,'zhang')
- 查找所有 :select * from tablename
- 查找单个属性:select name from tablename
- 查找多个属性 :select id ,name from tablename
- 按一定条件查找:select id from tablename where id =XX
- 按多个条件查找:select id from tablename where id =XX and name = XX
- 条件中含有特定字符串的查找:select id from tablename where name like '%XX%'
(4)简单的where条件
- = 等于
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
- <> 不等于
- !> 不大于
- %匹配的字符串% 匹配字符串
3、在IOS开发中使用FMDB
FMDB 是一个开源的第三方框架。
FMDatabase -表示一个单独的数据库,用来执行SQLite的命令。
FMResultSet -表示FMDatabase执行之后,返回的结果集。
FMDatabaseQuere-是在多线程的时候,使用这个类。
(1)导入FMDB
直接加载到项目中,并加上sqlite3.dylib的二进制库(查找sqlite)。
在需要的文件中,加上头文件 #import "FMDatabase.h"
(2)创建并打开数据库
NSString *path = [[NSBundle mainBundle ] pathForResource:@"data.sqlite" ofType:nil];
_database = [[FMDatabase alloc] initWithPath:path];
if (!_database.open) {
NSLog(@"打开失败");
}else{
NSLog(@"成功");
}
(3)查询操作,并得到返回集
NSString *sql = @"select * from firstlevel";
FMResultSet *resultset = [_database executeQuery:sql]; NSMutableArray *mArray = [[NSMutableArray alloc] init]; while ([resultset next]) {
Model *model = [[Model alloc] init];
model.id = [resultset stringForColumn:@"id"];
model.name = [resultset stringForColumn:@"name"];
[mArray addObject:model];
}
结语:天天加油。。。。。。
IOS开发——使用数据库的更多相关文章
- IOS开发-封装数据库sqlite3之为何选择FMDB
为什么使用第三方轻量级框架FMDB? FMDB是用于进行数据存储的第三方的框架,它与SQLite与Core Data相比较,存在很多优势. FMDB是面向对象的,它以OC的方式封装了SQLite的C语 ...
- iOS开发-Realm数据库
Realm Realm-Object-c,见:https://realm.io/cn/docs/objc/latest/Realm官网:https://realm.io 使用流程 导入头文件#impo ...
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- iOS开发数据库篇—SQL
iOS开发数据库篇—SQL 一.SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(structured query language):结构化查 ...
- iOS开发数据库篇—SQL代码应用示例
iOS开发数据库篇—SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在 ...
- iOS开发数据库篇—SQLite的应用
iOS开发数据库篇—SQLite的应用 一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二 ...
- IOS开发数据库篇—SQLite模糊查询
IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: // // YYPerson.h // 03- ...
- iOS开发数据库篇—SQLite常用的函数
iOS开发数据库篇—SQLite常用的函数 一.简单说明 1.打开数据库 int sqlite3_open( const char *filename, // 数据库的文件路径 sqlite3 * ...
- iOS开发数据库篇—FMDB简单介绍
iOS开发数据库篇—FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来 ...
随机推荐
- 如何:对 Windows 窗体控件进行线程安全调用
http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...
- ASP.NET5 Beta8可用性
ASP.NET5 beta8现已上都的NuGet作为一个工具升级到Visual Studio2015!此版本极大地扩展.NET核心对OS X和Linux所支持的范围.您现在可以使用网络,加密和全球化特 ...
- jQuery Mobile 表单基础
jQuery Mobile 会自动为 HTML 表单添加优异的便于触控的外观. jQuery Mobile 表单结构 jQuery Mobile 使用 CSS 来设置 HTML 表单元素的样式,以使其 ...
- PHP移动文件指针ftell()、fseek()、rewind()总结
在对文件进行读写过程中,有时需要在文件中跳转.同不同位置读取,以及将数据写入到不同的位置.例如,使用文件模拟数据库保存数据,就需要移动文件指针.指针的位置是以从文件头开始的字节数度量的,默认以不同模式 ...
- clob型不能用 distinct,以及转换clob类型方法
举例clob型不能用 distinct public List<WorkingPaper> findAssignedWorkPapers(String projectId, String ...
- .net学习笔记--使用抽象方法实现多态
在使用抽象方法实现多态之前,我们必须知道一些知识点: 1.抽象类不能被实例化: 2.抽象类可以包含非抽象成员,它们可以由其子类继承调用. 我们可以先创建一个Person的抽象类,代码如下: abstr ...
- MD5编码的内存泄露
MD5CryptoServiceProvider 如果多次使用会产生内存溢出,如下这样调用几百万次就会出现内存 溢出. public static string MD5Encode(string so ...
- 實際案例: 獲取臨時票証 (JsApi Ticket)
專案中選用大名鼎鼎的 Senparc 微信開發套件 獲取臨時票證處理常式的程式碼 (GetgVXinInfo.ashx) using Senparc.Weixin; using Senparc.Wei ...
- Java汉字转拼音
import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
在上一篇文章<搭建高可用mongodb集群(二)—— 副本集> 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制.还是带着副本集的问题来看吧! 副本集故障转移,主节点是如何选举的? ...