2017-06-16 98 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