我正在尝试更新Android中的一个或多个行,并且所有这些行都是正确的,并且 documentId 存在,但不会更新任何内容,但如果我尝试更新时没有条件全部更新
这是代码
public void updatePendingDocs(int documentId) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(DOCS_Done, 1);
String[] args = new String[]{(documentId+"")};
try {
db.update(Table_Name_Doc, cv, DOCS_ID + " =? ", args);
Log.i("DBHelper", "good");
}
catch (SQLiteException ex){
Log.e("DBHelper", "Error "+ ex);
}
db.close();
}
在控制台中,消息很好,但是当我检查表时,值没有改变
答案 0 :(得分:1)
如果
DOCS_ID
数据类型为TEXT
,请尝试这种方式
public void updatePendingDocs(int documentId) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(DOCS_Done, 1);
String[] args = new String[]{("'"+documentId+"'")};
try {
db.update(Table_Name_Doc, cv, DOCS_ID + " =? ", args);
Log.i("DBHelper", "good");
}
catch (SQLiteException ex){
Log.e("DBHelper", "Error "+ ex);
}
db.close();
}