我的建议:
- 永远不要将图像保存在数据库中,因为它会使您的数据库变得沉重
- 您可以将图像保存在文档目录中并添加到数据库的路径
- 如果您使用的是照片库图像,请将资产 url 保存在数据库中
解决方案:
您可以使用选择查询从数据库中读取数据
- (NSMutableArray *)getImage
{
NSMutableArray *imageArray = [[NSmutableArray alloc] init];
if (sqlite3_open([yourDatabasePath UTF8String], &dataBase) == SQLITE_OK)
{
NSString *select_sql=[NSString stringWithFormat:@"select PPhotos from imageTable];
const char *sql = [select_sql UTF8String];
sqlite3_stmt *selectstmt;
if(sqlite3_prepare(database, sql, -1, &selectstmt, NULL) == SQLITE_OK)
{
while(sqlite3_step(selectstmt) == SQLITE_ROW)
{
NSData *dataForCachedImage = [[NSData alloc] initWithBytes:sqlite3_column_blob(selectstmt, 0) length: sqlite3_column_bytes(selectstmt, 0)];
[imageArray addObject:[UIImage imageWithData:imageArray]];
}
}
return [imageArray autorelease];
}
这里getImage
将返回存储在数据库中的所有图像。