使用FMDB创建和打开数据库(Objective-c数据库库)

时间:2014-07-13 18:01:54

标签: ios objective-c fmdb

我正在使用FMDB开发iOS App(轻松使用SQLite的数据库)。

为了创建和打开数据库,我写下了以下代码。

NSFileManager *manager = [NSFileManager defaultManager];
NSArray *paths = [manager URLsForDirectory:NSDocumentDirectory
                                 inDomains:NSUserDomainMask];

NSURL *documentDirs = [paths lastObject];
NSURL *writableDBPath = [documentDirs URLByAppendingPathComponent:@"test.db"];

NSString *writableDBPathString = [writableDBPath path];
NSLog(@"DB path:%@",writableDBPathString);

FMDatabase *myDatabase = [FMDatabase databaseWithPath:writableDBPathString];

[myDatabase open];

运行我的Xcode Simulator后,上面的“NSLog”会显示以下信息,所以我想我可以获得收集路径。

2014-07-14 02:42:18.296 ninethtest[2064:a0b] DB path:/Users/myname/Library/Application Support/iPhone Simulator/7.0/Applications/D71C7BC8-8F01-486F-81FA-E1Exxxxxxx/Documents/test.db

但是,“NSURL * writableDBPath = [documentDirs URLByAppendingPathComponent:@”test.db“]会出现以下错误消息;”和“[myDatabase open];”在上面的代码中。

Thread1:EXC_BAD_ACCESS(code=2,address=0xbf7ffffc)

你能告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我会尝试这样做以获取数据库路径。

NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *dbPath = [documentsPath stringByAppendingPathComponent:@"testDB.sqlite3"];