FMDB 使用方法简介

ARC 和 MRC

FMDB作为一个优秀的通用第三方数据库框架,无论在ARC还是MRC下,都可以自动匹配。

使用

在FMDB中,有三个重要的类:

  • FMDatabase:是一个提供SQLite数据库的类,每一个SQLite的对象对应一个数据库,用于执行SQL语句。
  • FMResultSet:在FMDatabase中用于执行查询结果的类
  • FMDatabaseQueue:在多线程下查询和更新数据库用到的类

数据库的创建和使用

  • 数据库的文件路径可以是一下三者之一:
    • 一个文件的系统路径,磁盘中可以不存在此文件,因为如果不存在会自动为你创建
    • 一个空的字符串@"",会在临时位置创建一个空的数据库,当FMDatabase连接关闭时,该数据库会被删除
    • NULL,会在内存中穿件一个数据库,当FMDatabase连接关闭时,该数据库会被销毁。

代码示例

- (void)viewDidLoad {

[super viewDidLoad];

//获取沙盒路径的方法一

//实例化一个FMDatabase对象,并打开一个数据库,如果没有这个数据库,就会创建一个数据库

//    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

//

//    NSString *documentDirectory = [paths objectAtIndex:0];

//

//    NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];

//获取沙盒的路径的方法二

NSString *dbPath = [NSString stringWithFormat:@"%@/Documents/xiaoming.db", NSHomeDirectory()];

NSLog(@"%@", dbPath);

//创建库

FMDatabase *db = [FMDatabase databaseWithPath:dbPath];

//判断如果数据库打开失败,就什么都不做

if(![db open])

{

return;

}

//创建表

[db executeUpdate:@"CREATE TABLE Users(Name text, Age integer)"];

//插入数据

[db executeUpdate:@"INSERT INTO Users(Name, Age)VALUES(?,?)",@"Eric",[NSNumber numberWithInt:25]];

NSString *userName1 = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];

NSLog(@"%@", userName1);

//更新数据

[db executeUpdate:@"UPDATE Users SET Name = ? WHERE Name = ?",@"Michael",@"Eric"];

//删除数据

//    [db executeUpdate:@"DELETE FROM Users WHERE Name = ?", @"Michael"];

//查询数据

NSString *userName = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];

NSLog(@"%@", userName);

//查询多个数据,FMResultSet类,是一个结果集,返回多条数据,FMDB会将数据放在这个结果集中,然后在对这个结果集进行查询即可

FMResultSet *res = [db executeQuery:@"SELECT * FROM Users"];

res = [db executeQuery:@"SELECT * FROM Users WHERE Age = ?", @"25"];

while ([res next]) {

NSString *name = [res stringForColumn:@"Name"];

NSString *age = [res stringForColumn:@"Age"];

NSLog(@"%@%@", name, age);

}

}

输出结果

时间: 2024-11-08 12:14:46

FMDB 使用方法简介的相关文章

iOS中常用的四种数据持久化方法简介

iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic,

C#——Marshal.StructureToPtr方法简介

目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一.小鱼)相关研究.学习内容所做的笔记,欢 迎广大朋友指正! 具体可以参考http://msdn.microsoft.com. Marshal.StructureToPtr方法简介 1. 功能及位置 将数据从托管对象封送到非托管内存块,属于.NET Framework 类库命名空间:System.

FMDB 使用方法

优秀的第三方库,README 也是很优秀的,理解了 README,会对使用带来很多便利. ARC 和 MRC 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配. 使用 在 FMDB 中有三个重要的类: FMDatabase:是一个提供 SQLite 数据库的类,用于执行 SQL 语句. FMResultSet:用在 FMDatabase 中执行查询的结果的类. FMDatabaseQueue:在多线程下查询和更新数据库用到的类. 数据库创建 F

Datatable的Select()方法简介

DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是 Select() Select(string filterExpression) Select(string filterExpression, string sort) Select(string filterExpression,string sort, DataViewRowSt

$.getJSON( )的使用方法简介

JSON(JavaScript Object Notation)即JavaScript对象表示法,是一种轻量级的数据交换格式.它非常便于编程人员对数据的处理,也便于机器对数据的解析和生成,应用非常广泛. json文件可以保存为"test.json"这样的文件,json数据的一般格式如下("{ }"中的为对象,"[ ]"中的为数组): {"total":3,"rows":[{"userId"

Level Set方法简介

originate from: http://www.cnblogs.com/tabatabaye/articles/891232.html Level Set方法简介: Level Set方法是由Sethian和Osher于1988年提出,最近十几年得到广泛的推广与应用.简单的说来,Level Set方法把低维的一些计算上升到更高一维,把N维的描述看成是N+1维的一个水平.举个例子来说,一个二维平面的圆,如x^2+y^2=1可以看成是二元函数f(x,y)=x^2+y^2的1水平,因此,计算这个

苍狼敏捷需求用例分析方法简介并讲义下载

作者:张克强    作者微博:张克强-敏捷307 用例分析方法已经有不短的历史,发展出了多种用例分析方法.笔者花费了大量时间,对用例分析的各个方面进行实践和分析,得到如下系列文章: 需求用例分析之一:异常流 需求用例分析之二:级别设置需求用例分析之三:补充规约 需求用例分析之四:业务规则 需求用例分析之五:业务用例之Rational系 需求用例分析之六:业务用例之科伯恩系 需求用例分析之七:业务用例之小结 需求用例分析之八:用例颗粒度 在这些分析的基础上与及笔者的实践,总结整理得到"苍狼敏捷需求

ATAM 方法简介

ATAM  方法简介 1.ATAM 是啥 ATAM 是一种基于场景评估方式,英文全称 Architecture TradeOff Analysis Method ATAM(架构权衡分析法) 2.ATAM评估方法 ATAM 方法对软件架构进行评估的目的主要是 根据系统质量属性和业务需求评估决策结果,ATAM希望揭示出架构满足质量目标,架构设计者能够更清楚的认识到质量目标之间的联系.即如何权衡多个目标 3.ATAM的参与者 开发人员,领域专家,测试人员,客户代表,用户等 4.如何展开评估活动 这里将

xtrabackup使用方法简介

关于xtrabackup的简介就不再赘述,百度一堆,使用方法也说明也很多.感觉还是只有自己试过之后才能有更深刻的认识,以下的使用说明基于官方文档及自己试验过程,记录下备查. 安装: 去percona-xtrabackup官网上下载,有rpm包.tar包,也有解压直接可用的二进制包.我试验采用的二进制包. 由于里面的innobackupx命令实际上是用perl语言封装了xtrabackupx而成,所以使用innobackupx命令要先检查perl包以及其依赖包的安装情况. 可以执行yum inst