开发者

xcode sqlite3 "out of memory" error

开发者 https://www.devze.com 2023-03-26 03:57 出处:网络
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?

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.

0

精彩评论

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