sqlite 我在目录文件夹中有2个数据库文件,我想让用户选择他要打开的

lg40wkob  于 2023-06-06  发布在  SQLite
关注(0)|答案(1)|浏览(197)

我用的是SQLite3和iOS。
在我的资源文件夹中有一个数据库“2012”。我在我的应用程序的目录文件夹中备份了它(名为2013),所以在那里,有 db2 012和2013具有相同的结构。
我已经做了一个视图控制器,用户可以在其中选择哪个数据库,他想打开2012或2013。
如何将“2013”NSString传递给connect方法?

-(void)connect
{
NSLog(@"%c",restore); // restore is a BOOL that becomes "YES" when i click the button for restore

if (restore  == YES)
{
    databaseName = [NSString stringWithFormat:@"%@.db",currentYear];
}
else
{
    databaseName = @"2012.db";
}
NSLog(@"Database name is: %@",databaseName);

// Get the path to the documents directory and append the databaseName
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
databasePath = [documentsDir stringByAppendingPathComponent:databaseName];

NSLog(@"Database path is: %@",databasePath);

[self checkAndCreateDatabase];

}
我正在尝试发送年份值以连接:

NSString *year = restoreYear.text;
DatabaseDB *databaseDB = [[DatabaseDB alloc]init];
databaseDB.currentYear = year; //in DatabaseDB i have created property for current year and restore
databaseDB.restore = YES;
gfttwv5a

gfttwv5a1#

恢复功能表示您希望返回到拍摄快照的时间点。如果这是您真正想要的,您所需要做的就是将备份的数据库复制到“活动”数据库的名称。或者,您可以先重命名活动副本,以便可以撤消恢复。

相关问题