开发者

sqlite3_open - Can't open database?

开发者 https://www.devze.com 2023-01-07 20:29 出处:网络
I have the following statement in my code: if(sqlite3_open([databasePath UTF8S开发者_StackOverflow社区tring], &database) == SQLITE_OK)

I have the following statement in my code:

if(sqlite3_open([databasePath UTF8S开发者_StackOverflow社区tring], &database) == SQLITE_OK) 

but it doesn't seem to be opening my database.

Any ideas ?


Without knowing anything else about your problem, one can only assume that your path is invalid.

Try using this path to see if it works

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths lastObject];
NSString* databasePath = [documentsDirectory stringByAppendingPathComponent:@"mydb.sqlite"];

if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
     NSLog(@"Opened sqlite database at %@", databasePath);
    //...stuff
} else {
     NSLog(@"Failed to open database at %@ with error %s", databasePath, sqlite3_errmsg(database));
     sqlite3_close (database);
}


Simply use this filepath method

- (NSString *) filePath 
{    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消