2016-02-07 87 views
0

我正在使用Xcode 6.4,爲需要使用數據庫的iOS 8開發應用程序。我在我的數據庫中插入了一些信息(「something.db」文件)。我想查看「something.db」的內容以查看我插入的內容。我如何查看其內容?如何查看.db文件的內容?

這是我創建數據庫 「company.db的」 和表 「工作人員」(ID PK,名稱文本,AGE INTEGER)代碼:

-(void) createOrOpenDB { 
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docPath = [path objectAtIndex:0]; 
    dbPathString = [docPath stringByAppendingPathComponent:@"company.db"]; 
    char *error; 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    if(![fileManager fileExistsAtPath:dbPathString]) { 
     const char *dbPath =[dbPathString UTF8String]; 
     if(sqlite3_open(dbPath, &personDB)==SQLITE_OK) { 
      const char *sql_stmt = "CREATE TABLE IF NOT EXISTS Staff (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, AGE INTEGER)"; 
      sqlite3_exec(personDB, sql_stmt, NULL, NULL, &error); 
      sqlite3_close(personDB); 
     } 
    } 
} 

這是我的代碼對於信息插入表「員工」:

- (IBAction)addPersonButton:(id)sender { 
    char *error; 
    if(sqlite3_open([dbPathString UTF8String], &personDB) == SQLITE_OK) { 
     NSString *insertStmt = [NSString stringWithFormat:@"INSERT INTO Staff (NAME, AGE) values ('%s', '%d')", [self.nameField.text UTF8String], [self.ageField.text intValue]]; 
     const char *insert_stmt = [insertStmt UTF8String]; 
     if(sqlite3_exec(personDB, insert_stmt, NULL, NULL, &error) == SQLITE_OK) { 
      NSLog(@"Person added"); 
      Person *person = [[Person alloc] init]; 
      [person setName:self.nameField.text]; 
      [person setAge:[self.ageField.text intValue]]; 
      [arrayofPerson addObject:person]; 
     } 

     sqlite3_close(personDB); 
    } 
} 

代碼工作很好,因爲我能在tableview中顯示「Staff」表的信息。但是如何在.db文件中查看這些信息?

p/s:我將其更改爲「something.xls」,但Excel不顯示人類可讀信息。我也下載了Fileviewpro,但不知道如何使用。請有人幫助我!

非常感謝!

+0

你是如何將數據添加到數據庫文件的?你在使用SQLite嗎? CoreData? FMDB?還有別的嗎? – rmaddy

+0

我在我的問題中添加了代碼。請看一看。謝謝。 –

+0

有一個sqlite瀏覽器管理器...我們可以查看數據庫表和數據。我的問題是你是否得到了.db文件 –

回答

0

您可以使用任何旨在查看sqlite文件內容的應用程序。例如:http://sqlitebrowser.org

如果您正在模擬器上運行,則可以使用~/Library/Developer/CoreSimulator/Devices/1A8DF360-B0A6-4815-95F3-68A6AB0BCC78/data/Container/Data/Application/ 轉到模擬器,只需用設備替換長UDID即可。

+1

非常感謝!我現在可以查看我的數據庫! –

+0

@muoitom不用客氣,如果這個答案有助於你考慮將其標爲正確。 –

+1

我標記正確:) –