Обновление ActiveAndroid и удаление из таблицы

Привет, ребята, поэтому я пытаюсь проверить, как использовать базы данных в Android как часть одного из моих классов, но я новичок в обоих, поэтому большая часть помощи, которую я нашел в Интернете, прошла немного выше моей головы.

Мне было интересно, как именно обновить и удалить из таблицы. В настоящее время у меня есть:

    wk item = new wk();
            item.name = "okay1";
            item.save();

И это добавляет элемент штрафа.

и в моей базе есть

public class wk extends Model {
    Table(name = "ToDoItems")
    @Column(name = "Name")

Но я пытаюсь бежать

new Delete().from(wk.class).where("Name = ?",2).execute();

Что, как я предполагаю, удаляет значение 2 в базе данных Name, но вместо этого, похоже, ничего не делает? я пытался

new Delete().from(wk.class).execute();

Что определенно удаляет мою таблицу, поэтому я знаю, что она может удалить, но я просто хочу удалить одно значение.

В значительной степени я хочу иметь возможность удалить это значение OK1.


person John McKenzie    schedule 09.09.2014    source источник


Ответы (3)


Хорошо, я нашел ответ, который у меня был для удаления, который

new Delete().from(wk.class).where("Name = ?","okay1").execute();

И работает идеально для меня сейчас.

person John McKenzie    schedule 09.09.2014
comment
Как удалить строки для логического условия - person user3131373; 08.01.2016

Как объясняется в документации ActiveAndroid, вы также может удалить ваш объект статически:

public static void delete(MyClass obj){
    obj.delete();
}

Это может быть полезно, особенно если вы используете шаблон проектирования DAO.

person Fred B.    schedule 09.06.2015
comment
можно ли удалить все данные из конкретной таблицы? Я не вижу ничего подобного в документах. - person Mahen; 02.07.2018
comment
Махен, я почти уверен, что вы можете удалить все данные из определенной таблицы с помощью построителя запросов, не указывая какой оператор: new Delete().from(Item.class).execute(); - person Fred B.; 17.07.2018

если ваше условие возвращает одно значение

new Delete().from(modelclassname.class).where("OnBasisof=?",value).executesingle();

если ваше условие возвращает несколько значений

new Delete().from(modelclassname.class).where("OnBasisof=?",value).execute();
person Shashwat Gupta    schedule 22.04.2017