Как удалить строку из sqlite при просмотре списка Android - PullRequest
2 голосов
/ 28 мая 2011

У меня есть просмотр списка, и я получаю данные из базы данных sqlite. Моя проблема состоит в том, чтобы удалить строку, которую пользователь выбрал из списка. Я могу удалить всю таблицу по

dbConn.delete ("Restobj", ноль, ноль);

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

Пожалуйста, помогите

Ответы [ 3 ]

3 голосов
/ 12 июля 2011

Вам необходимо получить идентификатор строки из выбранного элемента ListView.Используя идентификатор строки, вы можете легко удалить эту строку:

String where = "_id = " + _id;
db.delete(TABLE_NAME, where, null);

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

0 голосов
/ 28 мая 2011

Вам необходимо указать соответствующие значения для объекта базы данных. Я предполагаю, что dbConn является экземпляром объекта базы данных. Если это так, вы можете передать в dbConn.delete () 3 аргумента. Первый аргумент - это имя таблицы. Вторым является whereClause. Это что-то похожее на:

"id = " + objectDatabaseId

Конечную переменную в этом случае вы можете оставить пустым. Конечный результат выглядит примерно так:

String whereClause = "id = " + objectDatabaseId;
dbConn.delete("Restobj", whereClause, null);

В качестве примечания, лучше использовать константы при обращении к именам таблиц и столбцам таблиц, в отличие от "Restobj", у вас должно быть что-то вроде RestObject.TABLE_NAME, где константа определяется как статическая конечная строка внутри RestObject.

-Randall

0 голосов
/ 28 мая 2011

Используйте эти два других параметра для метода удаления.Для получения дополнительной информации ознакомьтесь с документацией по API.

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#delete%28java.lang.String,%20java.lang.String,%20java.lang.String[]%29

Передайте что-то отличное от NULL.

Кроме того, попробуйте поискать в stackoverflow и / или Google дляЭта тема.Ответы обильные.

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