1

我正在尝试使用 sqlite 框架创建数据库 - 我已经设置了几种方法来获取文件路径然后打开数据库,但我收到“无法打开数据库”错误(你可以看到我已经注销了 sqlite3_open 的结果)

这是我的头文件:

#import "sqlite3.h"

@interface ProgListViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate, UIAlertViewDelegate>
{
    sqlite3 *db;
}

-(NSString *) filePath;
-(void)openDB;

这是我的实现文件:

//file path to db
-(NSString *) filePath {
    NSLog(@"pathtest");
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
    return [[paths objectAtIndex:0] stringByAppendingPathComponent:@"bp.sql"];
}

//open the db
-(void)openDB {
    NSLog(@"opentest");
    if (sqlite3_open([[self filePath] UTF8String], &db) !=SQLITE_OK) {
        NSLog(@"%d", sqlite3_open([[self filePath] UTF8String], &db));
        sqlite3_close(db);
        NSLog(@"Database failed to open");
    } else {
       NSLog(@"database opened");
    }
}

有任何想法吗?

4

1 回答 1

3

我相信你的意思是使用NSDocumentDirectory而不是NSDocumentationDirectory.

于 2013-10-29T21:02:58.900 回答