от
Приложения я строю, о подсчете запасов.Если пользователя добавить же элемент в два раза количество будет показано 2. Для того, чтобы увеличить количество, мне нужно сравнить новые данные и старые данные(количество) в столбце той же таблицы.Итак, вопрос "как сравнивать старые и новые данные(количество)?" Я уже добавил некоторые CRUD действия. Но не мысль о сравнении данных.
override fun onCreate(db: SQLiteDatabase?) {
        val CREATE_TABLE_QUERY: String =
            ("CREATE TABLE $TABLE_NAME ($COL_ID INTEGER PRIMARY KEY,$COL_QUANTITY INTEGER, $COL_NAME TEXT)")
        db!!.execSQL(CREATE_TABLE_QUERY)
    }

override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
    db!!.execSQL("DROP TABLE IF EXISTS $TABLE_NAME")
    onCreate(db!!)
}

val allItem: List
    get() {
        val stItem = ArrayList()
        val selectQuery = "SELECT * FROM $TABLE_NAME"
        val db = this.writableDatabase
        val cursor = db.rawQuery(selectQuery, null)
        if (cursor.moveToFirst()) {
            do {
                val item = Item()
                item.id = cursor.getInt(cursor.getColumnIndex(COL_ID))
                item.quantity = cursor.getInt(cursor.getColumnIndex(COL_QUANTITY))
                item.name = cursor.getString(cursor.getColumnIndex(COL_NAME))

                stItem.add(item)
            } while (cursor.moveToNext())
        }
        db.close()
        return stItem

    }

fun addItem(item: Item) {
    val db = this.writableDatabase
    val values = ContentValues()
    values.put(COL_ID, item.id)
    values.put(COL_QUANTITY, item.quantity)
    values.put(COL_NAME, item.name)

    db.insert(TABLE_NAME, null, values)
    db.close()
}

fun updateItem(item: Item): Int {
    val db = this.writableDatabase
    val values = ContentValues()
    values.put(COL_ID, item.id)
    values.put(COL_QUANTITY, item.quantity)
    values.put(COL_NAME, item.name)


    return db.update(TABLE_NAME, values, "$COL_ID=?", arrayOf(item.id.toString()))
}

fun deleteItem(item: Item) {
    val db = this.writableDatabase

    db.delete(TABLE_NAME, "$COL_ID=?", arrayOf(item.id.toString()))
    db.close()
}

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...