6

我想在每列中用 +1 更新 col_Item_Auto_ID 列

像这样:用 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();
    }
4

4 回答 4

12

试试这个代码,它工作正常:

 db.execSQL("UPDATE " + Table_KOT_ITEMS_TEMP + " SET "
                    + col_Sl_No + " = " + col_Sl_No + " +1 WHERE "
                    + col_Sl_No + " >" +into);
db.close();
于 2013-09-06T05:01:37.500 回答
7

您不能使用标准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);
于 2013-09-04T09:50:00.257 回答
0

这可以通过updateWithOnConflict().

为 in 中的 value 字段提供的值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");
于 2014-12-26T08:41:53.530 回答
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);
于 2015-09-18T10:41:52.603 回答