FMDB / Sqlite查询问题

时间:2011-08-09 13:23:48

标签: iphone sqlite fmdb

我有一个数据库,其中有一个名为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

1 个答案:

答案 0 :(得分:0)

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

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

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