我正在为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。
感谢。
答案 0 :(得分:3)
尝试使用FMDB框架,它在我的项目中帮了我很多忙。
这是链接:https://github.com/ccgus/fmdb
如果可以,请试一试;)
答案 1 :(得分:2)
sqlite3_step(statement)
或SQLITE_ROW
未初始化或已被释放。当它对不存在的对象运行相等性检查时,它会抛出EXE_BAD_ACCESS。
你回来了吗?