5

我正在为 iphone 应用程序使用 sqlite 数据库。但有时从数据库中检索数据时,它会在“while loop”行崩溃。

-(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。

在此处输入图像描述 谢谢。

4

2 回答 2

3

尝试使用 FMDB 框架,它对我的​​项目帮助很大。
这是链接:https
://github.com/ccgus/fmdb 如果可以的话,看看吧;)

于 2012-06-08T14:46:41.410 回答
2

要么sqlite3_step(statement)orSQLITE_ROW没有初始化,要么已经被释放。当它对不存在的对象运行相等检查时,它会抛出 EXE_BAD_ACCESS。

您是否返回任何行?

于 2012-06-08T16:00:35.907 回答