2015-10-14 119 views
2

我可以在BLOB格式插入圖像源碼數據庫,在更新圖像,將其存儲NSData的在SQLite數據庫。如何在ios中更新sqlite數據庫中的圖像?

這裏是更新查詢:

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); 
    } 
相關問題