2011-04-07 137 views
0

我正在嘗試更新一行數據庫中的單元格。但結果總是以0結尾,這意味着不會做出任何更改。我究竟做錯了什麼?Android SQlite問題

列的名稱是「讀」,並在該列的所有值都爲0。最初我需要更新行的列的值「讀」到整數1

DATABASE = openOrCreateDatabase("MAIN_DB", MODE_PRIVATE, null); 

    ContentValues contentValues = new ContentValues(); 
    contentValues.put("Read", new Integer(1)); 
    int result=0; 

    DATABASE.beginTransaction(); 

     result= DATABASE.update(databasename, contentValues, "id="+db_rowid, null); 
     DATABASE.setTransactionSuccessful(); 

     DATABASE.endTransaction(); 


    DATABASE.close(); 

變量db_rowid =我需要編輯的行的行ID

+0

我看不出有什麼錯誤,如果數據庫名稱=「MAIN_DB」,dbcolumnid是現有值,列名和表exitst閱讀... – 2red13 2011-04-07 07:02:28

回答

1

我假設databasename實際上是包含您的行的表名。 dbcolumnid實際上是要更新的行ID。你的表格包含id列(是主鍵?)。有了這些假設,所有人都應該工作。

最後,你可以試試這個:

result = DATABASE.update(databasename, contentValues, "id=?", new String[] {Long.toString(dbcolumnid)}); 
+0

是的,我添加了「_id」列,然後用你的代碼和它的工作。謝謝。 – roomtek 2011-04-07 07:45:37