2015-10-03 36 views
1

我想用0或1更新行值。这里是我的更新方法。我的代码出错了。Android行没有得到更新

dbhelper.updateStarFlag(actid, strStarFlagMark); 

    public boolean updateStarFlag(String str_ActivityId, String str_StarFlag) 
     { 
      SQLiteDatabase db1 = getReadableDatabase(); 
      ContentValues args = new ContentValues(); 
      args.put(COL_AllPost_PostActivityId, str_ActivityId); 
      args.put(COL_AllPost_StarFlag, str_StarFlag); 
      int i = db1.update(Table_AllPost_Table, args, COL_AllPost_PostActivityId + "='"+str_ActivityId+"'", null); 
      return i > 0; 
     } 

回答

2

如果您想更新的东西,你需要一个数据库。我改变了查询看起来更像在documentation一点对于SQLiteDatabase

public boolean updateStarFlag(String str_ActivityId, String str_StarFlag) 
    { 
     SQLiteDatabase db1 = getWriteableDatabase(); 
     ContentValues args = new ContentValues(); 
     args.put(COL_AllPost_PostActivityId, str_ActivityId); 
     args.put(COL_AllPost_StarFlag, str_StarFlag); 

     int i = db1.update(Table_AllPost_Table, args, COL_AllPost_PostActivityId + "= ? ", new String[]{str_ActivityId}); 
     return i > 0; 
    } 
+0

感谢它的作品! – androidTag

1

要更新数据库的东西,你需要写的数据库,而不仅仅是阅读。

更改如下行:

SQLiteDatabase db1 = getReadableDatabase(); 

到:

SQLiteDatabase db1 = getWriteableDatabase(); 

希望,这可以帮助你。