2015-10-14 3 views
2

я могу вставить изображение в SQLITE баз данных в формате BLOB, при обновлении изображения, его хранение NSData в SQLite базы данных.Как обновить изображение в базе данных sqlite в ios?

Вот Update Query:

NSString* updateQuery = [NSString stringWithFormat:@"UPDATE MediaStorage SET media_content = '%@',name = '%@',type = '%@', extension = '%@',file_id = '%@',exp_id = '%@' WHERE ID = '%ld'",prjct.profileData,prjct.imgName,prjct.imgType,prjct.imgExtension,prjct.imgId,prjct.exp_id,(long)[prjct.imgId integerValue]]; 

ответ

0
sqlite3 *database;  
sqlite3_stmt *Stmt; 

sqlite3_open([[self getDBPath] UTF8String],&database); 

- (NSString *) getDBPath 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); 
NSString *documentsDir = [paths objectAtIndex:0]; 
return [documentsDir stringByAppendingPathComponent:****.sqlite]; 
} 

NSString* updateQuery = [NSString stringWithFormat:@"UPDATE MediaStorage SET media_content = ?,name = '%@',type = '%@', extension = '%@',file_id = '%@',exp_id = '%@' WHERE ID = '%ld'",prjct.imgName,prjct.imgType,prjct.imgExtension,prjct.imgId,prjct.exp_id,(long)[prjct.imgId integerValue]]; 

if(sqlite3_prepare_v2(database, [updateQuery UTF8String], -1, &Stmt, NULL) == SQLITE_OK) 
    { 
     sqlite3_bind_blob(Stmt, 1,[prjct.profileData bytes], [prjct.profileData length], NULL); 
     sqlite3_step(Stmt); 
     sqlite3_reset(Stmt); 
     if(Stmt) 
      sqlite3_finalize(Stmt); 
    } 
Смежные вопросы