2015-10-03 84 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(); 

希望,這可以幫助你。