2013-01-16 73 views
0

即時通訊工作與xcode 4.5和ios模擬器6.0,我想刪除數據庫im工作,但我不知道如何。我想完全建立數據庫。xcode從設備刪除SQL數據庫

我讀到,它可能只是刪除Macintosh /庫/應用程序支持/ iOS模擬器下的文件。但是這個文件夾不存在於我的Mac上。

那麼我該如何刪除我的數據庫呢?

- (void)createOrOpenDB { 
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docPath = [path objectAtIndex:0]; 

    dbPathString = [docPath stringByAppendingPathComponent:@"WorkoutPlans.db"]; 

    char *error; 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 

    if(![fileManager fileExistsAtPath:dbPathString]) { 
     const char *dbPath = [dbPathString UTF8String]; 

     if (sqlite3_open(dbPath, &workoutPlansDB) == SQLITE_OK) { 
      const char *sql_cr_wp = "CREATE TABLE IF NOT EXISTS WORKOUTPLANS (ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , NAME TEXT NOT NULL UNIQUE , DESCRIPTION TEXT NOT NULL UNIQUE)"; 
      const char *sql_cr_en = "CREATE TABLE TABLE IF NOT EXISTS ENTITY (ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , NAME TEXT NOT NULL UNIQUE , DESCRIPTION TEXT NOT NULL UNIQUE)"; 
      const char *sql_cr_ex = "CREATE TABLE IF NOT EXISTS EXERCISE (ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , NAME TEXT NOT NULL UNIQUE , DESCRIPTION TEXT NOT NULL UNIQUE , REPS TEXT NOT NULL , WEIGHT TEXT NOT NULL)"; 
      const char *sql_cr_plen = "CREATE TABLE IF NOT EXISTS WPEN (PLANID, ENID, FOREIGN KEY(PLANID) REFERENCES WORKOUTPLANS(ID) ON DELETE CASCADE, FOREIGN KEY(ENID) REFERENCES ENTITY(ID) ON DELETE CASCADE)"; 
      const char *sql_cr_enex = "CREATE TABLE IF NOT EXISTS ENEX (ENTITYID, EXERCISEID, FOREIGN KEY(ENTITYID) REFERENCES ENTITY(ID) ON DELETE CASCADE, FOREIGN KEY(EXERCISEID) REFERENCES EXERCISE(ID) ON DELETE CASCADE)"; 

      sqlite3_exec(workoutPlansDB, sql_cr_wp, NULL, NULL, &error); 
      sqlite3_exec(workoutPlansDB, sql_cr_ex, NULL, NULL, &error); 
      sqlite3_exec(workoutPlansDB, sql_cr_en, NULL, NULL, &error); 
      sqlite3_exec(workoutPlansDB, sql_cr_plen, NULL, NULL, &error); 
      sqlite3_exec(workoutPlansDB, sql_cr_enex, NULL, NULL, &error); 
      sqlite3_close(workoutPlansDB); 
     } 
    } 
} 

回答

0

只需在applicationDidFinishLaunching中調用刪除方法即可。

if([fileManager fileExistsAtPath:dbPathString]) { 
    [fileManager removeItemAtPath:dbPathString error:&error]; 
}