我正在使用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,但不知道如何使用。請有人幫助我!
非常感謝!
你是如何將數據添加到數據庫文件的?你在使用SQLite嗎? CoreData? FMDB?還有別的嗎? – rmaddy
我在我的問題中添加了代碼。請看一看。謝謝。 –
有一個sqlite瀏覽器管理器...我們可以查看數據庫表和數據。我的問題是你是否得到了.db文件 –