美文网首页
FMDB 用法

FMDB 用法

作者: 魂一飞 | 来源:发表于2017-07-01 17:43 被阅读0次

一 . 使用

在FMDB中三个重要的类

1.FMDatabase: 是一个提供SQLite 数据库的类,用于执行SQL语句

2.FMResultSet: 用在FMDatabase中执行查询的结果的类

3. FMDatabaseQueue :在多线程下查询和更新数据库用到的类

二. 数据库初始化(包括打开数据库和创建表)

三. 数据库操作

1.增: 方法: -executeUpdate....

2.删 :方法: -executeUpdate....

3.改    方法: -executeUpdate....

4 查     方法:  -executeQuery...(相比前三个不同)

执行查询操作后,如果成功后会返回一个 FMResultSet对象,反之会返回nil。然后可以用 while()  循环查看记录,例如:

FMResultSet提供了很多方便的方法来查询数据

intForColumn:           longForColumn:                   longLongIntForColumn:     

boolForColumn:         doubleForColumn:              stringForColumn:

dateForColumn:            dataForColumn:               dataNoCopyForColumn:

UTF8StringForColumn:           objectForColumn:

四. 线程安全

在多个线程中同时使用一个FMDatabase实例是不明智的。不要让多个线程分享同一个FMDatabase实例,它无法在多个线程中同时使用。 如果在多个线程中同时使用一个FMDatabase实例,会造成数据混乱等问题。所以,请使用 FMDatabaseQueue,它是线程安全的。以下是使用方法:

1.创建  

NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject;

NSString *filePath = [path stringByAppendingPathComponent:@"FMDB.db"];

FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:path];

2.操作数据

[queue inDatabase:^(FMDatabase*db) {

//FMDatabase数据库操作

if (![db open]) {

NSLog(@"打开数据库失败");

return ;

}

//创建表(FMDB中只有update和query操作,除了查询其他都是update操作)}];

[db executeUpdate:@"create table if not exists user(name text,gender text,age integer) "];

//插入数据

BOOL inser = [db executeUpdate:@"insert into user values(?,?,?)",_nameTextField.text,_sexTextField.text,_ageTextField.text];

[db close];

}

4.事物

假如你要对数据库中的Stutent表插入新数据,那么该事务的具体过程是:开始新事物->插入数据->提交事务,那么当我们要往该表内插入500条数据,如果按常规操作处理就要执行500次“开始新事物->插入数据->提交事务”的过程。

,举个例子:假如北京的一家A工厂接了上海一家B公司的500件产品的订单,思考一下:A工厂是生产完一件立即就送到B公司还是将500件产品全部生产完成后再送往B公司?答案肯定是后者,因为前者浪费了大量的时间、人力物力花费在往返于北京和上海之间。同样这个道理也能用在我们的数据库操作上,

SQLite进行事务的SQL语句:

只要在执行SQL语句前加上以下的SQL语句,就可以使用事务功能了:

开启事务的SQL语句,"begin transaction;"

进行提交的SQL语句,"commit transaction;"

进行回滚的SQL语句,"rollback transaction;"

//FMDatabase事务

//FMDatabaseQueue事务

原文链接:http://www.jianshu.com/p/71ed016cb1fe

相关文章

  • FMDB 用法

    一 . 使用 在FMDB中三个重要的类 1.FMDatabase: 是一个提供SQLite 数据库的类,用于执行S...

  • FMDB基本用法

    基本介绍 SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据...

  • FMDB的简单概述

    这篇博客主要是用来简单介绍一下FMDB的基础用法,涉及到简单的增删改查 一:FMDB介绍 FMDB是一种第三方的开...

  • [iOS学习笔记]·FMDB:第三方数据库处理框架·用法示例篇(

    关于学习使用FMDB,除了笔者整理的官方文档翻译版,更重要的是实践和代码练习。笔者曾查阅过FMDB示例用法的一些文...

  • iOS FMDB的用法

    本文的适用人群 限于本人自身水平,这篇文章非常的基础,但我会尽量说的非常详细,因为网上的文章大部分只是讲解一下有这...

  • iOS-FMDB 基础用法

    github链接地址 https://github.com/ccgus/fmdb文顶http://www.cnbl...

  • iOS-FMDB详解及使用

    一 FMDB简介 什么是 FMDB FMDB 是 iOS 平台的 SQLite 数据库框架 FMDB 以 OC 的...

  • iOS开发·FMDB的使用与知识梳理

    一、FMDB的介绍二、FMDB的使用说明三、FMDB的创建和使用方法 一、FMDB的介绍 FMDB是构建在SQLi...

  • FFDB

    FMDB的使用 FMDBDemo 目录 1、FMDB介绍2、FMDB导入3、FMDB框架中重要的框架类3.1、FM...

  • iOS 数据库框架FMDB的使用

    注:本文OC和Swift代码混编。主要是熟悉用法。中心思想都是一样的。 FMDB对libsqlite3进行了封装,...

网友评论

      本文标题:FMDB 用法

      本文链接:https://www.haomeiwen.com/subject/zicicxtx.html