Android SQLite增加

6 sqlite

我想更新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();
    }
Run Code Online (Sandbox Code Playgroud)

小智 12

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

 db.execSQL("UPDATE " + Table_KOT_ITEMS_TEMP + " SET "
                    + col_Sl_No + " = " + col_Sl_No + " +1 WHERE "
                    + col_Sl_No + " >" +into);
db.close();
Run Code Online (Sandbox Code Playgroud)


Ale*_*s G 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);
Run Code Online (Sandbox Code Playgroud)

  • @andygeers我知道,但是同时android并没有提供任何其他使用行中的值来更新行的方法,因此,是的,这是唯一的方法。 (2认同)