sqlite_step中的EXC_BAD_ACCESS(语句)

时间:2012-06-08 14:37:30

标签: iphone xcode sqlite crash exc-bad-access

我正在为iphone app使用sqlite数据库。但有时在从数据库中检索数据时会在“while循环”行崩溃。

-(void)GetMethod
{

    NSString *query = [[NSString alloc] initWithFormat:@"SELECT * FROM errorlogs"];
    sqlite3_stmt *statement;    
    if (sqlite3_prepare_v2(database, [query UTF8String],-1, &statement, nil) == SQLITE_OK) 
    {
        while (sqlite3_step(statement) == SQLITE_ROW) **// EXC_BAD_ACCESS ON THIS LINE**
        { 
            char *uid1 = (char *)sqlite3_column_text(statement, 0);
            NSString *uid = [NSString stringWithFormat:@"%s",uid1];
        }
    }
    sqlite3_finalize(statement);
}

为什么我在while循环中获得此EXC_BAD_ACCESS。

enter image description here 感谢。

2 个答案:

答案 0 :(得分:3)

尝试使用FMDB框架,它在我的项目中帮了我很多忙。
这是链接:https://github.com/ccgus/fmdb
如果可以,请试一试;)

答案 1 :(得分:2)

sqlite3_step(statement)SQLITE_ROW未初始化或已被释放。当它对不存在的对象运行相等性检查时,它会抛出EXE_BAD_ACCESS。

你回来了吗?