Sauvegarde et récupération des images vers et à partir de SQLite dans iOS

Je suis en train d'enregistrer des images dans Sqlite, puis de charger une image dans une UIImageView. Mais ce n'est pas du travail. Je ne sais pas ce que commence à faire mal. Voici le code que j'utilise. Quelqu'un peut-il m'aider à résoudre ce problème.

- (void)saveImage {
    sqlite3_stmt *compiledStmt;
    if(sqlite3_open([dbPath UTF8String], &db)==SQLITE_OK){
        const char *insertSQL="insert into Image(Image)values(?)";
        if(sqlite3_prepare_v2(db,insertSQL, -1, &compiledStmt, NULL) == SQLITE_OK){
            UIImage *image = [UIImage imageNamed:@"farmhouse.png"];
            NSData *imageData=UIImagePNGRepresentation(image);
            sqlite3_bind_blob(compiledStmt, 1, [imageData bytes], [imageData length], NULL);

            sqlite3_step(compiledStmt);

            char *errMsg;
            sqlite3_exec(db, insertSQL, NULL,compiledStmt,&errMsg);

        }
    }
}

- (void)showImage {
    sqlite3_stmt *compiledStmt;
    if(sqlite3_open([dbPath UTF8String], &db)==SQLITE_OK){
        const char *insertSQL = "Select Image from Image Where Sl.No = ?";
        sqlite3_prepare_v2(db,insertSQL, -1, &compiledStmt, NULL);
        if(sqlite3_prepare_v2(db,insertSQL, -1, &compiledStmt, NULL) == SQLITE_OK){
            sqlite3_bind_int(compiledStmt, 1, 1);
            if(SQLITE_DONE != sqlite3_step(compiledStmt)) {                
                NSData *data = [[NSData alloc] initWithBytes:sqlite3_column_blob(compiledStmt, 1) length:sqlite3_column_bytes(compiledStmt, 1)];

                if(data == nil)
                    NSLog(@"No image found.");
                else
                    imgView.image = [UIImage imageWithData:data];


            }
        }
    }
}

Quelqu'un peut le point sur la question avec code ci-dessus.

Merci d'avance

Pourquoi ne pas utiliser le système de fichiers à la place?
hors-sujet: pour les projets à venir, vous devriez utiliser FMDatabse: github.com/ccgus/fmdb

OriginalL'auteur sree_iphonedev | 2012-06-05