我想更新col_Item_Auto_ID列,每列+1,
像这样:用11替换10,用12等替换11等! 请帮帮我...这里的代码是,
public void updateMiddleTemp(int autoid) {
SQLiteDatabase db = this.getWritableDatabase();
int id=51;
ContentValues cv_temp1 = new ContentValues();
cv_temp1.put(col_Item_Auto_ID, col_Item_Auto_ID+1);
//ff
long stemp = db.updateWithOnConflict(Table_KOT_ITEMS_TEMP, cv_temp1,
col_Item_Auto_ID + " >= " + autoid, null,SQLiteDatabase.CONFLICT_IGNORE);
db.close();
}
答案 0 :(得分:12)
试试这段代码,它运作正常:
db.execSQL("UPDATE " + Table_KOT_ITEMS_TEMP + " SET "
+ col_Sl_No + " = " + col_Sl_No + " +1 WHERE "
+ col_Sl_No + " >" +into);
db.close();
答案 1 :(得分:6)
您无法使用标准update
方法执行此操作 - 您需要使用execSql
方法:
String sql = "UPDATE " + Table_KOT_ITEMS_TEMP +
" SET " + col_Item_Auto_ID + "=" + col_ITEM_AUTO_ID + "+1" +
" WHERE " + col_ItemAutoID + " >= " + autoid;
db.execSql(sql);
答案 2 :(得分:0)
可以使用updateWithOnConflict()
完成此操作。
ContentValues
中为值字段提供的值不正确。
结果值应为“ col_Item_Auto_ID + 1 ”而不是“ col_Item_Auto_ID1 ”。
所以尝试改变
cv_temp1.put(col_Item_Auto_ID, col_Item_Auto_ID+1);
到
cv_temp1.put(col_Item_Auto_ID, col_Item_Auto_ID+"+1");
答案 3 :(得分:0)
此代码对我有用:
String query = "UPDATE " + Constants.RecentChats.DB_RECENT_CHATS + " SET "
+ Constants.RecentChats.UNREAD_COUNT + " = "
+ Constants.RecentChats.UNREAD_COUNT +"+1"+ " WHERE "
+ Constants.RecentChats.JID + " =" + id;
db.execSQL(query);