xcode sqlite3 "out of memory" error
When we run the checkAndCreateDatabase method it says that the database exists but the sqlite3_error message returns an "out of memory" error before exiting the method. How can this be fixed?
-(void) checkAndCreateDatabase{
NSLog(@"Run Method: checkAndCreateDatabase");
// Check if the SQL database has already been saved to the users phone, if not then copy it over
BOOL success;
// Create a FileManager object, we will use this to check the status
// of the database and to copy it over if required
// Check if the database has already been created in the users filesystem
success = [[NSFileManager defaultManager] fileExistsAtPath:databasePath];
// If the database already exists then return without doing anything
if(success){
NSLog(@"Database Exists");
} else {
// If not then proceed to copy the database from the application to the users filesystem
开发者_如何学Go NSLog(@"Database Does Not Exist");
// Get the path to the database in the application package
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:databaseName];
// Copy the database from the package to the users filesystem
[[NSFileManager defaultManager] copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];
NSLog(@"Database Copied To filesystem And Exists");
}
NSLog(@"Method checkAndCreateDatabase Finished Message: %s",sqlite3_errmsg(database));
return;
}
- (void)viewDidLoad {
NSLog(@"Run Method: viewDidLoad");
// Setup some globals
databaseName = @"w2w.db";
NSLog(@"Database Name: %@",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: %@",databasePath);
// Execute the "checkAndCreateDatabase" function
[self checkAndCreateDatabase];
[super viewDidLoad];
}
Where is the database variable being initialized? I've run into this same error message when I have accidentally passed in an undefined or incorrect parameter to sqlite3_errmsg(). I think this is the default error message.
精彩评论