以下是SQLite API进行封装的库FMDB的简单使用 :

FMDB框架的下载地址 :https://github.com/ccgus/fmdb

代码如下 :

//
//  ViewController.m
//  FMDB的使用
//
//  Created by mac1 on 15/10/7.
//  Copyright (c) 2015年 www.iphonetrain.com. All rights reserved.
//

#import "ViewController.h"
#import "FMDB.h"

@interface ViewController ()

//姓名
@property (weak, nonatomic) IBOutlet UITextField *nameTextField;

//年龄
@property (weak, nonatomic) IBOutlet UITextField *ageTextField;

//"插入记录"按钮
- (IBAction)insertAction;

//"更新记录"按钮
- (IBAction)updateAction:(id)sender;

//"查询数据"按钮
- (IBAction)queryAction:(id)sender;

//数据库
@property (nonatomic,strong)FMDatabase *fmdb;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //1.打开数据库  如果不存在,则会自动创建数据库
    
    //数据库路径
    NSString *fmdbPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/fmdbDatabase.db"];
    NSLog(@"fmdbPath = %@",fmdbPath);
    
    _fmdb = [FMDatabase databaseWithPath:fmdbPath];
    
    BOOL isSuccess = [_fmdb open];
    
    if (isSuccess) {
        NSLog(@"打开或创建数据库成功!");
        
    //2.创建表
    
        /*
         //1.执行查询操作 SELECT
         [db executeQuery:<#(NSString *), ...#>];
         
         //2.执行查询以外的所有操作,INSERT INTO UPDATE DELETE  CREATE
         [db executeUpdate:<#(NSString *), ...#>];
         */
        isSuccess = [_fmdb executeUpdate:@"CREAT TABLE IF NOT EXISTS t_user (id INTEGER NOT NULL PRIMARY KEY,name TEXT, age INTEGER )"];
        if (isSuccess) {
            
            NSLog(@"创建表成功!");
            
        }
    }
}

//插入数据 DML
- (IBAction)insertAction {
    
    //取得插入的数据记录
    NSString *name = _nameTextField.text;
    NSInteger age = [_ageTextField.text integerValue];
    
    //如果一次性需要操作大量的数据,就不要在主线程操作,会阻塞主线程
    //异步往数据库插入数据
    
    NSString *dbfile = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/aysnfmdb.db"];
    FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:dbfile];
    
    
    //异步方式下 :
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        
        //会自己创建数据库 db
        [queue inDatabase:^(FMDatabase *db) {
            
            BOOL isSuccess =  [db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_user (id integer PRIMARY KEY , name text NOT NULL ,age integer)"];
            
            if (isSuccess) {
                
                NSLog(@"创建表成功");
                
            }
            
            //插入数据
            for (NSInteger i = 0; i < 2000; i++) {
                
                //使用fmdb,sql语句中的字符串不需要写单引号
                BOOL isSuccess = [db executeUpdateWithFormat:@"INSERT INTO t_user(name,age) VALUES (%@,%ld)",name,age];
                if (isSuccess) {
                    NSLog(@"插入数据成功!");
                }
                else
                    NSLog(@"插入数据失败!");
            }
        }];
    });
}

- (IBAction)updateAction:(id)sender {

BOOL issuccess = [_fmdb executeUpdateWithFormat:@"UPDATE t_user SET name = %@ WHERE id = 1",@"大王"];
    if (issuccess) {
        
        NSLog(@"更新数据成功");
    }
    else{
        NSLog(@"更新数据失败");
        
    }

}

- (IBAction)queryAction:(id)sender {
    
    FMResultSet *result = [_fmdb executeQueryWithFormat:@"SELECT * FROM t_user"];
    
    while (result.next) {
        
        // 取出一条数据
        NSString *name = [result stringForColumn:@"name"];
        int age = [result intForColumn:@"age"];
        
        NSLog(@"name = %@  age = %d",name,age);
        
        /*
         
         可以通过下标取数据
        NSString *name = [result stringForColumnIndex:1];
         */
    }
    
}

@end

第三方框架----FMDB的使用的更多相关文章

  1. iOS-数据持久化-第三方框架FMDB的使用

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

  2. 第三方框架FMDB

    摘要:关键点:创建.插入.查询.数据格式化 第三方框架FMDB -------------------------------------------------------------------- ...

  3. [iOS]数据库第三方框架FMDB详细讲解

    [iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封 ...

  4. SQLite数据库框架--FMDB简单介绍

    1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比 ...

  5. FMDB第三方框架

    FMDB是同AFN,SDWebImage同样好用的第三方框架,它以OC的方式封装了SQLite的C语言API,使得开发变得简单方便. 附上github链接https://github.com/ccgu ...

  6. 第三方库FMDB的使用

    1.FMDB简介 什么是FMDB FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API. 为什么使用FMDB 使用起来更加面向对象,省去了很多麻烦.冗余的 ...

  7. iOS开发--SQLite重要框架FMDB的使用

    什么是FMDB: FMDB是一个和iOS的SQLite数据库操作相关的第三方框架.主要把C语言操作数据库的代码用OC进行了封装.使用者只需调用该框架的API就能用来创建并连接数据库,创建表,查询等. ...

  8. iOS技术面试07:第三方框架

    1ios框架分为:cocoa Touch:UIKit.Foundation.附属框架 Media:OpenGL ES.EAGL.Quartz.Core Animation.Core Audio.    ...

  9. iOS-常用的第三方框架的介绍

    写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每 ...

随机推荐

  1. Vue界面中关于APP端回调方法问题

    在混合开发中,HTML界面经常性的需要调用APP端提供的原生方法,而且在很多时候,APP端需要各种回调,如果将所有的回调方法写在内部,不是很方便,而且有些时候,APP端需要定义一些主动触发HTML界面 ...

  2. java中使用redis --- Set集合的简单应用

    1.java代码 public class RedisTest01 { public static void main(String[] args){ // connect redis server ...

  3. Python基本的语法知识

    1. 编程语言的介绍 低级语言:机器语言--------计算机内部只能接受二进制代码,故用0或者1表示的指令称为机器指令,全部的机器指令构成了计算机的机器语言. 汇编语言--------实质上跟机器语 ...

  4. 什么是Log4j,Log4j详解!

    由于时间紧急,自己就不写了.一下转载链接: https://www.cnblogs.com/ITtangtang/p/3926665.html

  5. 获取历史K线数据的几个方法

    1.通过已有的股票交易软件下载数据,如果他们是开源结构的,就可以解析他们的K线数据. 2.在互联网上抓取数据 int iStockCode;CString strUrl; 通过OpenUrl.Read ...

  6. VS下字符串与数组互相装换

    1.分割字符串IdStr为int数组Ids int[] Ids = Array.ConvertAll<string, int>(IdStr.Trim().Split(','), deleg ...

  7. 使用 Java 创建聊天客户端-2

    1.项目截图 java聊天核心代码: MyJavaChatClient ================================================================ ...

  8. CSP初赛复习

    初赛复习 初赛一定要过啊,否则付出的那么多都白搭了! while(1) ++csp.rp,++csp.luck,++csp.scores; 历史 2020年开始,除NOIP以外的NOI系列其他赛事(包 ...

  9. 7、transformation和action2

    一.transformation开发实战 1.map: 将集合中每个元素乘以2 使用map算子,将集合中的每个元素都乘以2 map算子,是对任何类型的RDD,都可以调用的,在Java中,map算子接收 ...

  10. java file 常用操作

    File file = new File("D:\\javaClass\\image"); // 测试此抽象路径名表示的文件或目录是否存在. // 当且仅当此抽象路径名表示的文件或 ...