Android: удаление определенной строки в базе данных - PullRequest
1 голос
/ 16 марта 2011

Извините, если это кажется очевидным.Я пытаюсь написать метод для удаления строки из String showId.Каков был бы наилучший способ, и можно ли использовать курсоры только для выбора, а также для удаления и обновления?Вот два метода, которыми я пока пользуюсь:

public int deleteShowById1(String showId){
    Cursor cursor = db.rawQuery("DELETE FROM tblShows WHERE showId = '" + showId+"'", null);
    if (cursor.moveToFirst()) {
        return 1;
    } else
        return -1;
}

    public int deleteShowById2(String showId) {
    String table_name = "tblShows";
    String where = "showId='"+showId+"'";
    return db.delete(table_name, where, null);
}

Ответы [ 2 ]

1 голос
/ 23 октября 2013

Как мы знаем из запроса MySQL, в Android это тоже самое.

    String query = "DELETE FROM " +TABLE_NAME+ " WHERE "  + COLUM_NAME+ " = " + "'"+VALUE +"'" ;

    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL(query);
    db.close();

VALUE может иметь или не иметь одинарные кавычки в зависимости от типа данных.

0 голосов
/ 16 марта 2011

Я склонен использовать второй метод (db.delete), так как я думаю, что использование rawQuery не одобряется.

Если вы делаете выбор, то перебираете курсор для обновления или удаления,это имело бы смысл, но пропуск курсора для удаления или обновления не имеет смысла для меня, так как программа не будет знать, как анализировать результаты курсора, чтобы получить правильные поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...