2011-04-07 95 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