我是sQLite的新手,并在我的应用程序的mac终端中创建了一个sqlite数据库。我然后添加了数据库我的应用程序并运行良好。最近我需要另一个表,所以我下载了sqlitemanager(一个带有gui for sqlite数据库的firefox插件,有点不想为everysingle事件编写脚本)。从那以后,我一直收到错误"表未找到"。然而,浏览我的数据库,我看到表,但如果我在ios模拟器中查看数据库,我没有看到表(数据库是零kb,所以我猜错误是合理的)。但是,如果我只是将数据库直接复制并粘贴到该文件夹中,该应用程序可以正常工作。然而,这不是一个好的解决方案......但是这是因为我使用过 这个经理编辑数据库?如果是,我可以使用什么经理,或者如果没有问题。
谢谢
+ (NSString *) getDBPath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
return [documentsDir stringByAppendingPathComponent:@"tourism.sql"];
}
+ (void) copyDatabaseIfNeeded {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSString *dbPath = [DBAccess getDBPath];
BOOL success = [fileManager fileExistsAtPath:dbPath];
if(!success) {
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"tourism.sql"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];
if (!success)
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}