iOS 二维码保存到sqlite数据库

一、下载 libqrencode SDK

1、先引入编译需要的Framework导入libsqlite3.tbd


二、创建单列类并使用libsqlite数据库

1、在.h中先导入头文件 

#import

#import "Model.h"

2、在定义方法如图:


iOS 二维码保存到sqlite数据库_第1张图片

二、在单列类显示

//  打开数据库

-(void)openDataBase{

//创建沙盒路径

NSString * str = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];

NSLog(@"12312312%@",str);

//在沙盒路径下创建一个db文件

NSString * path =[str stringByAppendingPathComponent:@"aiyo.db"];

NSLog(@"path=========%@",path);

//如果存在直接打开 不存在 创建后打开

if(sqlite3_open([path UTF8String], &(sqliteDB)) == SQLITE_OK)

{

NSLog(@"打开成功");

[self createDataBase];

}

}

//初始化数据库 创建数据库

-(void)createDataBase{

//创建预编译指针

const char * sqla = "create table if not exists aiya (id integer primary key, image text)";

//将sql语句编译到预编译指针内部

sqlite3_stmt * stmt;

//执行sql语句

sqlite3_prepare(sqliteDB, sqla, -1, &stmt, nil);

if (sqlite3_step(stmt) == SQLITE_DONE)

{

NSLog(@"创建成功");

}

//释放预编译指针

sqlite3_finalize(stmt);

}

//添加数据

-(void)addMusicData:(Model *)mod{

const char * sqla = "insert into aiya values(null,?)";

sqlite3_stmt * stmt;

sqlite3_prepare(sqliteDB, sqla, -1, &stmt, nil);

sqlite3_bind_text(stmt, 1  , [mod.image UTF8String], -1, nil);

if (sqlite3_step(stmt) == SQLITE_DONE)

{

NSLog(@"添加成功");

}

sqlite3_finalize(stmt);

}

//查询数据

-(NSMutableArray *)selectDataBase{

const char * sqla = "select * from aiya";

sqlite3_stmt * stmt;

sqlite3_prepare(sqliteDB, sqla, -1, &stmt, nil);

NSMutableArray * muarr = [NSMutableArray array];

while (sqlite3_step(stmt) == SQLITE_ROW)

{

Model * model = [[Model alloc]init];

model.image = [NSString stringWithUTF8String:(const char *)sqlite3_column_text(stmt, 1)];

data = [[NSData alloc]initWithBase64Encoding:model.image];

[muarr addObject:data];

NSLog(@"%ld",muarr.count);

//        NSLog(@"%@",data);//没有问题 64进制

}

return muarr;

}

//关闭数据库

-(void)closeDataBase{

sqlite3_close(sqliteDB);

}




三、在model里定义属性

四、在本类里实现峰方法

1、在ViewController.m导入头文件

#import "QRCodeGenerator.h"

#import "LoadData.h"

#import "AppDelegate.h"

#import "Model.h"

2、定义全局变量model

3、实现保存的方法如图:


iOS 二维码保存到sqlite数据库_第2张图片

你可能感兴趣的:(iOS 二维码保存到sqlite数据库)