0

assets フォルダーにインポートされたデータベースがあります。nextQuestion() メソッドを呼び出すとき、データベースから最初のエントリを取得する必要があります。ユーザーの回答後、 nextQuestion() メソッドを再度ロードして、データベースから次のエントリを取得する必要があります。私はこれを試しましたが、うまくいきませんでした。常に最初のエントリしか取得しません:

String sql ="SELECT * FROM tblTable ORDER BY _ID ASC LIMIT 1";

これも試しました:

String sql ="SELECT * FROM tblTable ORDER BY _ID ASC";
4

5 に答える 5

0

効率的ではありませんが、次のクエリを使用して次の質問を取得できます。

SELECT * 
FROM 
(
    SELECT * 
    FROM 
        questions 
    ORDER BY ID ASC LIMIT :questionNumber
) ORDER BY ID DESC LIMIT 1

:questionNumber関心のある n 番目の質問はどこですか。

例: http://sqlfiddle.com/#!7/a20b8/4

于 2013-04-16T01:00:46.630 に答える
0

もちろん、常に最初のものだけを取得し、同じクエリを何度も実行します。データが膨大でない場合は、2 番目のクエリを使用します。一度だけ実行し、すべての行をメモリに格納します。メソッドnextQuestion()で DB クエリを実行する必要がなくなります。

于 2013-04-16T00:57:26.553 に答える
0

実際に必要なのは、以前の ID よりもさらに大きい最小の ID を持つ質問です。

SELECT *
FROM tblTable
WHERE _ID > ?    -- insert previous ID here
ORDER BY _ID
LIMIT 1
于 2013-04-16T07:43:21.897 に答える