我正在实施此操作,以对数据库进行新的问题更新,但是它不起作用,更新后数据库仍然相同,我的意思是,我有10个问题,然后我又添加了2个问题,之后数据库仍然有10个问题。我在做什么错了?
DbHelper.java
public void addQuestions(List<Question> questions) {
db = getwritabledatabase();
for (Question question : questions) {
insertQuestion(question);
}
}
Main.java
List<Question> questions = new ArrayList<Question>();
QuizDbHelper.getInstance(this).addQuestions(questions);
DbHelper.java
private void insertQuestion(Question question) {
Contentvalues cv = new Contentvalues();
cv.put(QuestionsTable.COLUMN_QUESTION,question.getQuestion());
cv.put(QuestionsTable.COLUMN_OPTION1,question.getOption1());
cv.put(QuestionsTable.COLUMN_OPTION2,question.getOption2());
cv.put(QuestionsTable.COLUMN_OPTION3,question.getOption3());
cv.put(QuestionsTable.COLUMN_ANSWER,question.getanswer());
db.insert(QuestionsTable.TABLE_NAME,null,cv);
}
public ArrayList<Question> getallQuestions() {
ArrayList<Question> questionList = new ArrayList<>();
db = getReadableDatabase();
Cursor c = db.rawQuery("SELECT * FROM " + QuestionsTable.TABLE_NAME,null);
if (c.moveToFirst()) {
do {
Question question = new Question();
question.setQuestion(c.getString(c.getcolumnIndex(QuestionsTable.COLUMN_QUESTION)));
question.setOption1(c.getString(c.getcolumnIndex(QuestionsTable.COLUMN_OPTION1)));
question.setOption2(c.getString(c.getcolumnIndex(QuestionsTable.COLUMN_OPTION2)));
question.setOption3(c.getString(c.getcolumnIndex(QuestionsTable.COLUMN_OPTION3)));
question.setanswer(c.getInt(c.getcolumnIndex(QuestionsTable.COLUMN_ANSWER)));
questionList.add(question);
} while (c.moveToNext());
}
c.close();
return questionList;
}