美文网首页iOS
iOS开发之FMDB图片的增删查改

iOS开发之FMDB图片的增删查改

作者: 朱晓晓的技术博客 | 来源:发表于2017-02-27 15:22 被阅读996次

上一篇讲到FMDB的关于字符串的增删查改
http://www.jianshu.com/p/c7be4535ed87
此次图片的使用的也是类似,具体不在赘述,要注意的是,FMDB存放图片的使用的是"blob"的类型.

demo演示demo演示

代码如下:

#import "ViewController.h"
#import "FMDatabase.h"
#import "FMDatabaseQueue.h"

@interface ViewController ()

@property (nonnull, strong) FMDatabaseQueue * queue;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    
    [super viewDidLoad];
    //数据库在沙盒中的路径
    NSString * fileName = [[NSSearchPathForDirectoriesInDomains(13, 1, 1)lastObject]stringByAppendingPathComponent:@"testOfFMDB.sqlite"];
    NSLog(@"%@",fileName);
    
    //创建数据库
    self.queue = [FMDatabaseQueue databaseQueueWithPath:fileName];
    
    [self.queue inDatabase:^(FMDatabase *db) {
        
        if ([db open]) {
            
            BOOL createTable = [db executeUpdate:@"create table if not exists t_testOfFMDB (id integer primary key autoincrement,image blob)"];
            if (createTable) {
                NSLog(@"创建表成功");
            }
            else{
                NSLog(@"创建表失败");
            }
        }
        
        [db close];
    }];
    
}
- (IBAction)insert:(id)sender {
    
    [self.queue inDatabase:^(FMDatabase *db) {
        
        if ([db open]) {
            NSData * data = UIImageJPEGRepresentation([UIImage imageNamed:@"BG.jpg"], 1);
            
            BOOL flag = [db executeUpdate:@"insert into t_testOfFMDB (image) values(?)",data];
            
            if (flag) {
                NSLog(@"插入成功");
            }else{
                NSLog(@"插入失败");
            }
            
            
        }
        [db close];
    }];
    
}


- (IBAction)delete:(id)sender {
    
    [self.queue inDatabase:^(FMDatabase *db) {
        
        if ([db open]) {
            
            BOOL flag = [db executeUpdate:@"delete from t_testOfFMDB"];
            
            if (flag) {
                NSLog(@"删除成功");
            }else{
                NSLog(@"删除失败");
            }
        }
        
        
        [db close];
    }];
    
    
}
- (IBAction)update:(id)sender {
    
    [self.queue inDatabase:^(FMDatabase *db) {
        
        if ([db open]) {
            NSData * data = UIImageJPEGRepresentation([UIImage imageNamed:@"CX.jpg"], 1);
            
            BOOL flag = [db executeUpdate:@"update t_testOfFMDB set image = ?",data];
            
            if (flag) {
                NSLog(@"修改成功");
            }else{
                NSLog(@"修改失败");
            }
        }
        [db close];
    }];
    
}
- (IBAction)select:(id)sender {
    
    
    [self.queue inDatabase:^(FMDatabase *db) {
        
        if ([db open]) {
            //返回查询数据的结果集
            FMResultSet * resultSet = [db executeQuery:@"select * from t_testOfFMDB"];
            //查询表中的每一个记录
            while ([resultSet next]) {
                
                NSData * data = [resultSet dataForColumn:@"image"];
                
                UIImage * image = [UIImage imageWithData:data];
                
                self.imageView.image = image;
                
            }
            
        }
        [db close];
    }];
    
    
}

@end

demo链接:https://github.com/OwenJoe/imgForFMDB.git

相关文章

  • iOS开发之FMDB图片的增删查改

    上一篇讲到FMDB的关于字符串的增删查改http://www.jianshu.com/p/c7be4535ed87...

  • FMDB的使用(增删查改)

    FMDB的简单实用,实现了基本的增删查改功能,需要复杂的功能话可以在此基础上进行延伸:首先建立数据库管理类DBMa...

  • iOS编程中FMDB 使用方法

    一.什么是FMDB? 1.FMDB存在的意义 iOS中使用C语言函数对原生SQLite数据库进行增删改查操作,复杂...

  • Java集合之ArrayList - 吃透增删查改

    Java集合之ArrayList - 吃透增删查改 从源码看初始化以及增删查改,学习ArrayList。 先来看下...

  • iOS FMDB增删改查

    FMDB是一款简洁、易用的封装库,下面简单介绍下FMDB的使用: 在FMDB下载文件后,导入工程中,并使用 lib...

  • iOS数据库FMDB

    iOS数据库FMDB 简介 iOS中使用C语言函数对原生SQLite数据库进行增删改查操作,复杂麻烦,于是,就出现...

  • iOS FMDB

    iOS FMDB 数据库创建、增、删、改、查。 创建对象 创建表 integer,text:类型 primary ...

  • configparser配置文件模块

    Menu configparser定义 创建configparser文件 增删改查 - 查 增删改查 - 改 增删...

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

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

  • iOS之FMDB 源码解读

    前篇:Sqlite 的简单了解 FMDB 对 SQLite3 的C函数做了面向对象的封装:针对数据库提供了增删查改...

网友评论

    本文标题:iOS开发之FMDB图片的增删查改

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