#import "ViewController.h" //导入FMDB.h #import "FMDB.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 1、创建数据库 // 数据库存储路径 NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; path = [path stringByAppendingPathComponent:@"user.db"]; NSLog(@"path: %@", path); // 创建数据库 FMDatabase *_database = [FMDatabase databaseWithPath:path]; // 打开数据库 BOOL ret = [_database open]; if ( !ret ) { NSLog(@"打开数据库失败!"); return; } NSLog(@"打开数据库成功!"); // 2、创建表 /* blob:二进制类型 */ NSString *sql = @"create table if not exists User(Id integer primary key autoincrement, name text, photo blob)"; //执行创建表的sql语句 BOOL ret1 = [_database executeUpdate:sql]; if (ret1) { NSLog(@"创建表成功!"); } #if 0 // 3、插入数据 // 获取图片数据 NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"]; NSData *imageData = [NSData dataWithContentsOfFile:imagePath]; // 插入数据 NSString *sql2 = @"insert into User(name,photo) values(?,?)"; //执行插入语句 BOOL ret2 = [_database executeUpdate:sql2, @"小红", imageData]; if (ret2) { NSLog(@"插入数据成功!"); } #endif // 4、查询数据 // 取出图片 NSString *sql3 = @"select * from User"; //执行查询 FMResultSet *set = [_database executeQuery:sql3]; while ( [set next] ) { //取出图片二进制 NSData *data = [set dataForColumn:@"photo"]; //显示图片 UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 200)]; imageView.image = [UIImage imageWithData:data]; [self.view addSubview:imageView]; } }