近 “?”:语法错误(代码1):在编译:UPDATE和DELETE

问题描述:

//deleting query 

public void deleteFromQuestion(int questionId) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    db.execSQL("delete from Questions where question_id =" + questionId); 

} 
//updating query 
public void updateQuestion(String question, String answerOne, String answerTwo, String answerThree, String answerFour, String correctAnswer, int id) { 
    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues contentValues = new ContentValues(); 

    contentValues.put("question", question); 
    contentValues.put("answer_one", answerOne); 
    contentValues.put("answer_two", answerTwo); 
    contentValues.put("answer_three", answerThree); 
    contentValues.put("answer_four", answerFour); 
    contentValues.put("correct_answer", correctAnswer); 
    db.update("Questions", contentValues,"question_id ?", new String[]{String.valueOf(id)}); 

} 

,这是更新的代码,并删除近 “?”:语法错误(代码1):在编译:UPDATE和DELETE

//update button code 
updateBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      questionStr = String.valueOf(questionET.getText()); 
      answerOneStr = String.valueOf(ansOneET.getText()); 
      answerTwoStr = String.valueOf(ansTwoET.getText()); 
      answerThreeStr = String.valueOf(ansThreeET.getText()); 
      answerFourStr = String.valueOf(ansFourET.getText()); 
      correctAnswerStr = String.valueOf(correctAnsET.getText()); 
      if (questionStr == null || answerOneStr == null || answerTwoStr == null || correctAnswerStr == null) { 
       Toast.makeText(getApplicationContext(), "Please Fill Fields ", Toast.LENGTH_SHORT).show(); 
      } else { 
       questionManagerObject.updateQuestion(questionStr, answerOneStr, answerTwoStr, answerThreeStr, answerFourStr, correctAnswerStr, questionId); 
       Toast.makeText(getApplicationContext(), "Question Updated ", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 

//delete button code 
    deleteBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      questionManagerObject.deleteFromQuestion(questionId); 
      Toast.makeText(getApplicationContext(), "Question deleted ", Toast.LENGTH_SHORT).show(); 

     } 
    }); 

它应该是删除与问题ID并更新它也是这些按钮时,单击它,它会删除或更新......这个错误,这个代码有什么问题?

+1

你缺少'='在'更新()'调用的第三个参数。 –

你错过了 “=” 之前加入将其更改为 “?” -

db.update("Questions", contentValues,"question_id = ?", new String[]{String.valueOf(id)}); 
+0

非常感谢你......我试过了,它完成了 –