我有一个错误"内存不足错误"我已经尝试了所有的解决方案,但我坚持这个错误

时间:2014-11-14 12:39:11

标签: ios sqlite

dirPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); 
docsDir = [dirPaths objectAtIndex:0];
databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent:@"contact.db"]]; 

NSFileManager *filemgr = [NSFileManager defaultManager]; 
if ([filemgr fileExistsAtPath:databasePath]== NO)
{
    const char *dbpath = [self.databasePath UTF8String];
    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)           
    {           
        char *errMsg;
        const char *sql_stmt = "CREATE TABLE IF NOT EXISTS PERSON  (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, PASSWORD TEXT,EMAIL TEXT)" ;

    if (sqlite3_exec(contactDB, sql_stmt, NULL, NULL, &errMsg) != SQLITE_OK){
        theStatus.text = @" FAILED TO Table created";
    }
    sqlite3_close(contactDB);

} else {
    theStatus.text  = @"Failed to OPEN/create database";
}}
[filemgr release];

我正在使用上面的代码,我已经尝试了sqlite3_open_v2,但我遇到了问题。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您忽略了打开数据库或者使用的数据库引用似乎为零,则有两种情况会遇到内存不足错误。

请在下面的代码行中添加一个中断指针

if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) 

并检查上面的if块是否被执行,如果不是,那么你就知道了罪魁祸首。