- NSData * UIImageJPEGRepresentation (
- UIImage *image,
- CGFloat compressionQuality
- );
和
- NSData * UIImagePNGRepresentation (
- UIImage *image
- );
写 到这里大家可能已经明白怎样将图片导进数据库了吧!!数据库中存放图片声音等都是
BLOB类型的,什么是BLOB类型呢?这个暂时先不在这里讲解了
从上个方法中得到的NSData类型就是我们要转换的基本格式了。废话不多说,且看代码:
/*
链接数据库部分略落
*/
创建数据表(就建立个简单的表格)
好 了数据库我们已经建好了,接下来就是我们开始练兵的时候了,且看----------
××××××××××××××××××××××××××××××××××××××××××××××××××××
- -(IBAction)insertImageToDB
- {
- NSData *data = UIImagePNGRepresentation([UIImage imageNamed:@"back.png"]);
- // 还记得这个可爱的方法吗??哈
- NSUInteger length = [data length];//这个法参数用来计算data数据的大小的 为什么?待会解释
- sqlite3_stmt *statement;//
- NSString *query = [[NSString alloc]
- initWithString:@"INSERT OR REPLACE INTO LOVE(IMAGE) VALUES (?)"];
- if(sqlite3_prepare_v2(database,[query UTF8String],-1,&statement,NULL)!=sqlITE_OK)
- {
- //出错误了 去查看一下吧
- NSLog(@"I have read an error");
- return;
- }
- sqlite3_bind_blob(statement,1,[data bytes],length,sqlITE_TRANSIENT);//这里对应query里的问号,第几个问号,里面的参数就填几···
- sqlite3_step(statement);
- sqlite3_finalize(statement);
- sqlite3_close(database);// 忘了关闭你就白存了
- }
×××××××××××××××××××××××××××××××××××××××××××××××××××××
// 就这么简单,不是吗??下面来读取一下看看我们的图片是不是乖乖的在数据库里了吧!·!!
×××××××××××××××××××××××××××××××××××××××××××××××××××××
- -(IBAction)readDBImage
- {
- NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:kDefaultDbPath];
- if (sqlite3_open([defaultDBPath UTF8String],&database) != sqlITE_OK) {
- sqlite3_close(database);
- NSAssert1(0,@"Failed to open database with message '%s'.",sqlite3_errmsg(database));
- }
- else
- {
- NSLog(@"Open Data DB Successful");
- } //打开数据库kDefaultDbPath 这个是你的数据库名字
- NSString *query = @"select IMAGE from LOVE";
- sqlite3_stmt *statement;
- if(sqlite3_prepare_v2(database,nil) == sqlITE_OK)
- {
- NSLog(@"pass");
- while(sqlite3_step(statement) == sqlITE_ROW)
- {
- NSData *imageData;
- const void *test = sqlite3_column_blob(statement,0);
- int size = sqlite3_column_bytes(statement,0);
- imageData = [NSData dataWithBytes:test length:size];
- CFShow(imageData);
- UIImage *image = [UIImage imageWithData:imageData];
- [imageView setImage:image]; //显示你的Image
- break;
- }
- sqlite3_finalize(statement);
- }
- sqlite3_close(database);
- }