0

我有一个数据库,其中有一个名为 shuffledQuestions 的表,其中 2 列 category_id 和 question_id 都是主键。这是我保存随机问题的存储列表的地方。我目前的问题是我无法获取 question_id,而只是给了我 rowid。

    FMResultSet * slotQuestionQuery = [SlotDb executeQuery:@"SELECT question_id FROM shuffledQuestions WHERE category_id = ?", categoryFromCategoryMenu];
    while ([slotQuestionQuery next]) {
        //place questions into an array
        int Q = [slotQuestionQuery intForColumn:@"question_id"];
        NSLog(@"Q %d", Q);
        [ShuffledQuestionList addObject:[NSNumber numberWithInt:[slotQuestionQuery intForColumn:@"question_id"]]];
    }

categoryFromCategoryMenu 是一个全局字符串,旨在将其更改为其他内容,但现在当我在场景之间传递对象时它会这样做。我尝试将 categoryFromCategoryMenu 变量更改为 @"Action" 以防它只是在播放,但我仍然只是获得行 ID。

获取 question_id 列内容的唯一方法是从 sqlite 查询中删除 category_id。但是当我有多个类别时,这会带来一个问题,我不想选择所有的 question_id。只是来自特定类别的 question_id。

这是数据库 http://dl.dropbox.com/u/35218644/Slot1.sqlite

4

1 回答 1

1

我已经解决了。有人建议让 category_id 和 question_id 不是主键。

另请阅读: http ://www.sqlite.org/datatypes.html

因为我的 question_id 是它自动递增的主键(我认为?)。所以实际上我不断得到的数字的升序列表不是rowid r

于 2011-08-10T05:27:56.750 回答