iOS - FMDB数据库的使用

下面不废话了直接上代码??/*

     首先把FMDB拖入到工程中,需要我们把sqlite3这个库导入工程,(若是非ARC的工程,我们可以直接导入就好)

     数据库--》操作大量的有规律的数据

     FMDB是别人在系统数据库的繁琐的基础上给又封装了一下,供我们使用,--》相比于系统数据库更简单,好用

     FMDatabase 主要是提供操作时用得sql语句

     FMDatabaseAdditions.h 只要是负责多线程或是查询时更新时的操作

     FMDBResultSet  结果集,对数据库的操作,返回结果

     */

//创建一个FMDatabase类的对象,这个对象用来操作数据库

    db = [[FMDatabase alloc] initWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/pop.sqlite"]];

    //打开数据库--》指的是打开时有可能会出现异常,若出现异常就关闭,若没有出现异常就直接执行下面的代码

    if (![db open])

    {

        //关闭数据库

        [db close];

        return;

    }

    //对数据库中表的操作,添加,删除,修改

    //看表是不是在数据库  ---》执行表的操作,导入FMDatabaseAdditions.h

    if (![db tableExists:@"people"])

    {

        [db executeUpdate:@"CREATE TABLE people (peopleid INTEGER PRIMARY KEY,peoplename TEXT,peopleage INTEGER)"];

    }

    //关闭数据库

    [db close   ];

//插入

    //打开数据库

    if (![db open])

    {

        [db close];

        return;

    }

    //设置缓存---》提高效率

    [db setShouldCacheStatements:YES];

    //执行插入的操作  [NSNumber numberWithInt:22];把整数类型转换成NSNumber对象类型

    [db executeUpdate:@"INSERT INTO people(peoplename,peopleage) VALUES (?,?)",@"白童童",[NSNumber numberWithInt:22]];

    //关闭数据库

    [db close];

//删除  要知道哪一行,-->上面去

    if (![db open])

    {

        [db close];

        return;

    }

   BOOL isSuccess =  [db executeUpdate:@"DELETE FROM people WHERE peopleid = ?",[NSNumber numberWithInt:_peopleId]];

    //检测sql语句是否书写正确--》1时正确  0相反

    NSLog(@"9------%d",isSuccess);

    [db close];

//更新

//打开数据库

    if (![db open])

    {

        [db close];

        return;

    }

    //设置缓存

    [db setShouldCacheStatements:YES];

    //执行更新

    [db executeUpdate:@"UPDATE people SET peoplename = ?WHERE peopleid=?",@"史冬峰",[NSNumber numberWithInt:_peopleId]];

    [db close];

//更新UI

//打开数据库

    if (![db open])

    {

        [db close];

        return;

    }

    //设置缓存

    [db setShouldCacheStatements:YES];

    //执行查询

    //添加,删除,修改,都是对数据库中的表进行操作,查询是把数据库中的数据给读取出来(结果集)

   FMResultSet *rs = [db executeQuery:@"SELECT *FROM people"];

    //去创建一个数组出来用来保存读取出来的数据

    //移除数组中已经添加过的数据,想要出现一次一个

    [peopleArray removeAllObjects];

    //遍历结果集,每次只读取一条数据

    while ([rs next])

    {

        //从结果集中把刚才读取的数据取出来,--》把取出的数据信息给封装一个people类--》创建people类

        ZYPeople *p = [[ZYPeople alloc] init];

        //根据数据在数据库中的类型来取(字段--字段类型)--》去给people描述几个相应的属性

        p.pID = [rs intForColumn:@"peopleid"];

        p.pName = [rs stringForColumn:@"peoplename"];

        p.pAge = [rs intForColumn:@"peopleage"];

        [peopleArray addObject:p];

    }

    //关闭结果集

    [rs close];

    //关闭数据库

    [db close];

    [。。。 reloadData];
时间: 2024-10-22 23:45:53

iOS - FMDB数据库的使用的相关文章

iOS开发数据库篇—FMDB数据库队列(下)

iOS开发数据库篇—FMDB数据库队列(下) 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "Y

iOS开发数据库篇—FMDB简单介绍

iOS开发数据库篇—FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 3.FMDB的github地址 https://github.com/ccgus/fmdb 二.核心类 FMDB有三个主要的类 (1)FMDa

iOS开发数据库篇—FMDB数据库队列

iOS开发数据库篇—FMDB数据库队列 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "YYVi

iOS开发数据库-FMDB

前言 FMDB是以OC的方式封装了SQLite的C语言API,使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码:对比苹果自带的Core Data框架,更加轻量级和灵活:提供了多线程安全的数据库操作方法,有效地防止数据混乱:FMDB同时兼容ARC和非ARC工程,在编译的时候会自动根据工程配置来调整相关的内存管理代码. 使用方法 FMDB有三个主要的类 FMDatabase 表示一个单独的SQLite数据库. 用来执行SQLite的命令. FMResultSet 表示FMDatabase执行查

iOS开发 数据库FMDB

iOS开发  数据库FMDB 1.简介 需求作用: 如果需要保存大量的结构较为复杂的数据时候, 使用数据库, 例如交规考试项目 常用的数据库: (1)Microsoft SQL Server 2000/2008, 中小企业使用较多 (2)Oracle 比较复杂, 大企业使用较多 (3)Mysql数据库, 网站使用较多 (4)sqlite: 本地数据库, 访问数据足够快, 直接访问文件 足够简单, 功能相对其他数据库软件不是特别齐全, 足够用了  足够小, 系统不超过1M, 适合在移动端上使用 2

iOS数据持久化—FMDB数据库队列

iOS开发数据库篇—FMDB数据库队列 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "YYVi

IOS第三方数据库--FMDB

iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包. FMDB同时兼容ARC和非ARC工

FMDB数据库框架的是使用

IOS操作数据库,SQLite3和coredata是两个非常好的选择,但是对于我们这些掌握了其他数据库语言的人来说,使用这两中操作都会觉得不方便,SQLite3使用起来太复杂了,而使用coredata的时候却封装太死了,我们需要自己些自己的数据库语句,这时候,FMDB就是一个非常不错的选择 下面是FMDB的基本使用 在Main.storyboard中添加4个按钮分别是(插入 , 更新,删除 , 查询) 在ViewController中 // //  ViewController.m // //

ios FMDB类库的使用 学习笔记

文章摘自:  文顶顶 iOS开发数据库篇-FMDB简单介绍 什么是FMDB FMDB是ios平台的sqlite数据库框架 FMBD以oc的方式封装了sqlite的c语言API FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的c语言代码 比苹果的core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 FMDB的github地址 https://github.com/ccgus/fmdb 核心类 FMDB有三个主要的类 1.FMDatabase 一