2 つの列 category_id と question_id の両方が主キーである shuffledQuestions というテーブルを持つデータベースがあります。シャッフルされた質問の保存リストを保持する場所です。私の現在の問題は、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 だけです。