データベースの回答テーブルから回答ID(各回答に固有)を取得するメソッドがあります-getAnswerId()
しかし、私はそれを変えたいのです。質問データベースにanswer0、answer1、answer2列を作成し、answerIdとして0,1,2を取得したいと思います。getAnswerId()でそれを識別するにはどうすればよいですか?
まもなく;
列の名前:answer0、answer1、answer2
「0,1,2」を「answerId 」として取り、「 getAnswerId()」に入れます。
それから私はそれを次のように使いたいです:
public int getAnswerId(){
return this.answerId; }
編集:
sqlhelper:
final String query = "SELECT " +
"answer._id, answerlang.AnswerText, answer.Correct, " +
"answersquestions.QuestionID" +
" FROM answersquestions" +
" INNER JOIN answerlang" +
" ON answersquestions.AnswerID = answerlang.AnswerID" +
" INNER JOIN answer" +
" ON answerlang.AnswerID = answer._id" +
" WHERE answersquestions.QuestionID IN ( " +
allQuestionIds +
" ) ORDER BY answersquestions.QuestionID ";
this.cursor = this.db.rawQuery(query, null);
if (this.cursor.moveToFirst()) {
do {
for (final Question q : questions) {
if (q.getQuestionId() == this.cursor.getInt(3)) {
q.addAnswer(new Answer(this.cursor.getInt(0),
this.cursor.getString(1),
(this.cursor.getInt(2) == 1 ? true : false)));
}
}
} while (this.cursor.moveToNext());
}
this.cursor.close();
this.cursor.getInt(0)はanswer._id(回答テーブルの_ids)を受け取ります
データベース構造を変更し、answer0、answer 1、answer2をanswerlangテーブルに追加しました。したがって、1つのテーブルの各回答にIDが必要です。私はQuestionIDと 0(または1,2)(answer0,1,2から)を取ると思ったので、answerID = QuestionID+0は各回答に固有です
問題は、 this.cursor.getString(0)ではなく、間隔QuestionID+0がどのように配置されるかです。
// // // // \ \ \ \
私の質問の要約:
use **this.sample.getInt()** instead of this.cursor.getInt(0)
for example:
this.sample.getInt() : will have interval 10,11,12 for question 1 (QuestionID=1, answer0=0 so answer0 id = 10, answer1 id = 11, answer2 id = 12 as spesific id )
will have interval 20,21,22 for question 2 (QuestionID=2, answer0=0 so answer0 id = 20 ...... as spesific id )