SQLite 3“SQL错误”内存不足“(7)”objc

嗨,任何人都可以指出我做错了吗? 错误是这样的:

SQL error 'out of memory' (7) - (NSArray *)RecipeInfo { NSMutableArray *retval = [[NSMutableArray alloc] init]; NSString *query = [NSString stringWithFormat:@"SELECT key, name FROM recipes WHERE type = \'%@\'", self.RecipeType]; NSLog(query); sqlite3_stmt *statement; if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, NULL) != SQLITE_OK) { NSLog(@"[SQLITE] Error when preparing query!"); NSLog(@"%s SQL error '%s' (%1d)", __FUNCTION__, sqlite3_errmsg(_database), sqlite3_errcode(_database)); } else { while (sqlite3_step(statement) == SQLITE_ROW) { int uniqueId = sqlite3_column_int(statement, 0); char *nameChars = (char *) sqlite3_column_text(statement, 1); NSString *name = [[NSString alloc] initWithUTF8String:nameChars]; RecipeInfo *info = [[RecipeInfo alloc] initWithUniqueId:uniqueId name:name]; [retval addObject:info]; } sqlite3_finalize(statement); } return retval; } 

SQL在我使用的数据库pipe理环境中执行得很好,它必须与我使用SQL API的方式有关,任何人都可以发现什么是错的?

如果你忽略打开数据库并且指针是NULL (或者像rmaddy所说的,如果由于任何原因是NULL ,你可以很容易地得到这个错误。 把日志语句放在你打开数据库的地方,并确保它是成功的,并且你有一个有效的sqlite3指针。