【问题标题】:FMDB open databaseFMDB 开放数据库
【发布时间】:2011-04-22 07:27:53
【问题描述】:

我正在尝试打开我在 Resources 中的项目中拥有的数据库。

问题是似乎找不到数据库文件! 我尝试了完整的路径,它可以工作,但这不是一个好的解决方案。

我现在想知道怎么打开!

我正在使用此代码: db = [FMDatabase databaseWithPath:@"bbdd.sql"];

我不知道如何找到“实际”路径的另一部分。

你有解决办法吗?

谢谢!!!!

【问题讨论】:

    标签: fmdb


    【解决方案1】:

    您需要在资源包中找到数据库的完整路径,如下所示:

    NSString *databasePath = [[NSBundle mainBundle] pathForResource:@"mySQLiteDatabaseFile" ofType:@"sqlite3"];
    

    这个帖子里有一个完整的例子Copying data to the Application Data folder on the iPhone

    【讨论】:

    • 但是我仍然有一个问题它打开这个长地址它打开的路径是:/Users/nameOfUser/Library/Application Support/iPhone Simulator/3.2/Applications/5399D73E-F31A-46B1-94B1- EAD3E2B96D6E/appName.app/bbdd.sql 我需要的路径是:/Users/nameOfUser/Folder1/Folder2/appName/bbdd.sql 我需要知道如何获取项目所在文件夹的路径打开数据库。
    • “长地址路径”是因为您在模拟器中运行。看起来路径对于捆绑提供的 sql 文件是正确的。如果要编辑它,现在需要将其复制到 Applications Document 目录(请参阅我的原始评论中的链接)
    【解决方案2】:

    获取文档目录:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory = [paths objectAtIndex:0];
    NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];
    

    下一个

    DB = [FMDatabase databaseWithPath:dbPath];
    

    【讨论】:

    • 我也遇到了数据库路径的问题,没有指向文档目录。好主意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 2013-01-03
    • 2011-05-19
    相关资源
    最近更新 更多