iOS FMDB简单使用

写博客的目的只是为了自己记录一些简单的资源,写的比较简单的,适用于刚接触ios开发的同学

先来无事就写了一个使用FMDB的demo,希望对大家有帮助

1.首先用cocoaPods导入FMDB框架(怎么导入我以前的博客有写到)

2.打开工程,创建一个数据库

3.插入数据

4.查询数据

5.删除和修改数据库中表的内容和上述差不多,就不说了

具体代码如下ViewController.h

<span style="font-size:14px;">#import <UIKit/UIKit.h>

@interface ViewController : UIViewController


@end
</span>

ViewController.m

<span style="font-size:14px;">#import "ViewController.h"
#import <FMDB.h>

@interface ViewController ()
{
    FMDatabase *_db;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *dbPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];
    NSString *filePath = [dbPath stringByAppendingPathComponent:@"PowerStaionInfo.sqlite"];
    _db = [FMDatabase databaseWithPath:filePath];
    NSLog(@"%@",filePath);
    BOOL flag = [_db open];
    if (!flag) {
        NSLog(@"打开数据库失败!");
    }
    else{
        NSLog(@"打开数据库成功!");
    }
    NSString *sql = @"create table if not exists t_information(PowerStaionName text,PowerStaionInfo text,image data)";
    BOOL creat = [_db executeUpdate:sql];
    if (creat) {
        NSLog(@"创建表成功!");
//        UIImage *image = [UIImage imageNamed:@"fmdbDogTest.jpg"];
//        NSData *data=UIImagePNGRepresentation(image);
//        BOOL insert = [_db executeUpdate:@"insert into t_information(PowerStaionName,PowerStaionInfo,image) values(?,?,?)",@"两河口",@"这是两河口的简介,我用的狗的图片代替两河口的图片",data];
//        if (insert) {
//            NSLog(@"插入信息成功");
//        }else{
//            NSLog(@"插入信息失败!");
//        }
    }else{
        NSLog(@"创建表失败!");
    }
    [_db close];
    
    
    
    UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(100, 300, 200, 200)];
    img.backgroundColor = [UIColor redColor];
    if ([_db open]) {
        NSLog(@"打开数据库成功!hhhhhhh");
        NSString *sqlse = @"select * from t_information where PowerStaionName = '两河口'";
        FMResultSet *re = [_db executeQuery:sqlse];
        NSData *imgData;
        while ([re next]) {
             imgData = [re dataForColumn:@"image"];
        }
        img.image = [UIImage imageWithData:imgData];
    }
    [_db close];
    [self.view addSubview:img];
}
</span>

我为了测试在数据库中如何存图片,就自己在网上下载了一幅图片

开始先打开数据库,创建一张表,表的属性可以自己定义,将图片转化成data类型的数据存到表中,上面代码注释的部分就是存入表的代码,然后在界面显示表中存储的代码,

将data类型的数据转为image在界面显示。


创建表成功之后可以下载一个数据库管理工具,打开创建表的目录,去查看自己创建的表的内容。



不得不说的是,除了FMDB之外,还有用自带的SQLite,CocoaData数据库来存储自己想存的东西,FMDB是SQLite的进一步封装,需要写SQL语句。而CocoaData不是关系型数据库,不用写SQL语句,当数据库之间有关联的时候,或者数据量较大的时候,最好用SQLite。CocoaData还有一些其他的限制,可以去百度搜索下,我就不再说了。


当然,数据的存储除了用数据库存储之外还有很多其他的存储方式,选哪种存储方式根据实际的情况而定。



效果图如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值