Я создаю локальную базу данных для моего приложения. Раньше я обновлял свою таблицу на основе одного столбца, но в одной таблице я хочу обновить данные на основе двух столбцов. Пожалуйста, дайте мне знать, как я могу это сделать. Я реализовал код, но не работает.
public void addSeBars(EventBar eventBar) {
// add delete method for this
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_E_BARS + " WHERE sub_event_id= '" + eventBar.getSubEventId() + "' AND KEY_BAR_ID= '" + eventBar.getId() + "'";
Cursor cursor = sqLiteDatabase.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
cursor.close();
ContentValues values = new ContentValues();
values.put(KEY_SUB_EVENT_ID, eventBar.getSubEventId());
values.put(KEY_BAR_ID, eventBar.getId());
values.put(KEY_BAR_NAME, eventBar.getName());
sqLiteDatabase.update(TABLE_E_BARS, values, KEY_SUB_EVENT_ID + " = ?", new String[]{String.valueOf(eventBar.getId())});
} else {
cursor.close();
ContentValues values = new ContentValues();
values.put(KEY_SUB_EVENT_ID, eventBar.getSubEventId());
values.put(KEY_BAR_ID, eventBar.getId());
values.put(KEY_BAR_NAME, eventBar.getName());
sqLiteDatabase.insert(TABLE_E_BARS, null, values);
}
}