0

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 だけです。

これはデータベース http://dl.dropbox.com/u/35218644/Slot1.sqliteです

4

1 に答える 1

1

私はそれを解決しました。誰かが、category_id と question_id を主キーにしないよう提案しました。

これも読んでください: http://www.sqlite.org/datatypes.html

私の question_id は自動インクリメントされた主キーだったので (私は思う?)。実際には、私が取得し続けた数字の昇順のリストは行ID rではありませんでした

于 2011-08-10T05:27:56.750 に答える