2017-06-16 95 views
0

我试图更新Android中的表中的一个或多个行,并且它是正确的,并且documentId存在,但不会更新任何内容,但如果我尝试更新没有条件的所有更新Android Sqlite不更新

这是代码

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(); 
} 

在控制台的消息是好的,但是当我检查表,价值并没有改变

回答

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(); 
} 
+0

真棒人,THX,做工精细 – Heisenberg06