下面是我創建的一個函式,它應該更新資料庫中的一行。
fun editQuestion(identifier: String, questionNumber: Int, questionText: String, answers: Array<String>, correctAns: Int) {
val db = this.writableDatabase
val contentValues = ContentValues()
contentValues.put(QUESTION_TEXT, questionText)
for (i in answers.indices) {
contentValues.put(ANSWER_ARRAY[i], answers[i])
}
contentValues.put(CORRECT_ANS, correctAns)
db.update(QUESTION_TABLE, contentValues, "$MASTER_ID = ? AND $QUESTION_NUM = $questionNumber", arrayOf(identifier))
}
呼叫該函式后,資料庫資料似乎沒有改變,當列印 的輸出時db.update(),它回傳0。
我有類似的功能可以成功更新資料庫中的其他表,所以db.update()確實有效。
我還有一些函式,這些函式具有db.update()針對上述函式中的表的呼叫,因此可以操縱表。
我還仔細檢查了這個函式的引數和值是否應該是它們應該的值。
我也知道該WHERE子句是正確的,因為我使用完全相同的子句洗掉同一張表中的一行。
最后,我還檢查了我是否正確使用val contentValues它,它似乎是正確的。
所以我的問題真的是我錯過了什么?我想不出還會發生什么。任何幫助將不勝感激,只需詢問是否需要更多代碼或背景關系來回答。
uj5u.com熱心網友回復:
如果有人遇到類似問題,請務必檢查您的引數!
我的questionNumber引數比它應該在這里少 1,它解決了我的問題。簡而言之,這是一個 PICNIC 問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410113.html
標籤:
