5

私はiPhoneアプリに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);
}

このEXC_BAD_ACCESSをwhileループで取得する理由。

ここに画像の説明を入力してください ありがとう。

4

2 に答える 2

3

FMDBフレームワークを使用してみてください。これは、私のプロジェクトで大いに役立ちました。
リンクは次のとおりです:https
://github.com/ccgus/fmdb 可能であれば見てください;)

于 2012-06-08T14:46:41.410 に答える
2

sqlite3_step(statement)またはが初期化されていないかSQLITE_ROW、すでにリリースされています。存在しないオブジェクトに対して同等性チェックを実行すると、EXE_BAD_ACCESSがスローされます。

行を返していますか?

于 2012-06-08T16:00:35.907 に答える