文档章节

FMDB 简单实用

_
 ___大黄蜂___
发布于 2016/05/22 08:41
字数 315
阅读 6
收藏 0

@interface ViewController ()

// 数据库实例对象. @property(nonatomic ,strong) FMDatabase *db;

@end

@implementation ViewController

  • (void)viewDidLoad { [super viewDidLoad];

    // FMDB 框架: OC 对数据库的 C语言API 做的封装.

    // FMDatabase :数据库实例.

    // FMDatabaseQueue :安全的数据库队列.在多线程中使用数据库的时候,为了保证数据的安全性,必须使用 FMDatabaseQueue;

    // FMResultSet :在数据库中查询到的数据,都存放在 FMResultSet 中.

    // FMDB 原理: 除查询数据之外的所有的数据库操作都叫更新.executeUpdate

    // FMDB 中查询数据使用: executeQuery

}

  • (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { NSLog(@"touchesBegan");

    // 所有关于数据库的函数都在 sqlte3 中. 所以所有的函数都是以 sqlite3开头.

    NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES).lastObject;

    // 定义数据库文件的位置.

    NSString *fileName = [NSString stringWithFormat:@"%@/student.sqlite",path];

    // 实例化数据库对象.

    self.db = [FMDatabase databaseWithPath:fileName];

    if ([self.db open]) {

      NSLog(@"数据库打开成功!");
    
      NSString *sql = @"SELECT * FROM t_student WHERE age >18 LIMIT 0,20;";
    
      // FMDB 查询数据
    
      FMResultSet *sr = [self.db executeQuery:sql];
    
      // 查看查询到的数据.
    
      while ([sr next]) {
    
          // 取出字段为 id 的数据.
          int myID = [sr intForColumn:@"id"];
    
          NSString *name = [sr stringForColumn:@"name"];
    
          int age = [sr intForColumn:@"age"];
    
          int height = [sr intForColumn:@"height"];
    
          NSLog(@"name:%@ id:%d age:%d height:%d",name,myID,age,height);
    
          // 将取出来的数据包装成数组或者字典.再转换成模型使用!...
      }
    

    } }

© 著作权归作者所有

共有 人打赏支持
_
粉丝 5
博文 26
码字总数 21716
作品 0
东城
私信 提问
iOS数据持久化之FMDB的简单封装

缘由 FMDB是iOS平台处理数据持久化的一个强大工具,可以帮助开发者高效地在客户端处理数据,但对于我等初级开发者来说其使用还是不够简单。因此,有必要对它进行封装,从而使其更易于使用,封...

无忌不悔
2017/07/03
0
0
iOS开发数据库篇—FMDB简单介绍

iOS开发数据库篇—FMDB简单介绍 一、简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗...

托楚齐坎基基
2015/12/30
195
0
iOS开发之FMDB入门学习心得(Swift版)

iOS开发之FMDB入门学习心得(Swift版) 一些废话 最近学习了一下iOS的第三方封装的sqlite数据库fmdb,于是把学习的心得进行了整理。内容只是涉及一些简单的操作:增,删,改,查。 与其说是一...

法斗斗
2016/08/10
41
0
数据库操作(FMDB)

iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API进行封装的库,例如FMDB、PlausibleDatabase、sqlitepersistentobjects等,FMDB (https:/...

Snaiper
2016/01/28
100
0
Angelo/FMDB_runtime

#FMDB_runtime /** * 对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * * 基于 FMDB * * 操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整体进行操作 * * 根据 mo...

Angelo
2015/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

新鲜出炉,2019最新大厂面试题总汇!

在这个互联网技术快速迭代的时代,每个程序员都知道技术对于职业发展的重要性,那些技术好的程序员不仅薪资高,而且大多数集中在一线互联网企业工作,让人感觉非常高大上的同时,也想去大厂做...

Java干货分享
20分钟前
4
0
一、什么是ActiveMQ

首先我们应该先了解J2EE中的一个重要规范:JMS(The Java Message Service)Java消息服务。而JMS的客户端之间可以通过JMS服务进行异步的消息传输。它主要有两种模型:点对点和发布订阅模型。 ...

watermelon11
26分钟前
1
0
课时17 第三课Spark内部原理剖析与源码阅读(五)

为何spark shuffle比mapreduce shuffle慢? 主要是spark shuffle的shuffle read阶段还不够优秀,它是基于hashmap实现的,shuffle read会把shuffel write阶段已经排序数据给重新转成乱序的,转...

刀锋
43分钟前
1
0
Function函数式接口

Function函数式接口传入一个参数,返回一个值。 然后我们使用这个写个demo看看: 输出: 接口内部还有两个default方法和一个static方法,然后我们先看一下static方法 返回一个始终返回其输入...

woshixin
58分钟前
1
0
开发者和架构师之间最大的区别是什么?

1、开发者和架构师之间最大的区别是什么? 架构师和开发者一样,也经常写代码,简单的说,开发者和架构师之间最大的区别就是技术领导力。 软件架构师的角色需要理解最重要的架构驱动力是什么...

James-
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部