SQLite, не могу удалить столбцы - PullRequest
0 голосов
/ 15 февраля 2010

ОБНОВЛЕНИЕ: см. Самоответ, "исправлено, необходимо изменить предложения where"

Я установил поставщика контента, по какой-то причине я могу удалить строку следующим образом:

getContentResolver().delete(myUri, "_id=" + "3", null);

но я не могу удалить строку таким образом:

getContentResolver().delete(myUri, "NAME=" + "chris", null);

получаю эту ошибку:

02-15 15:48:08.197: ERROR/AndroidRuntime(3043): android.database.sqlite.SQLiteException: no such column: chris: , while compiling: DELETE FROM User WHERE NAME=chris


Я проверил файл базы данных, и он там есть ... но по какой-то причине я могу удалить столбцы из своей базы данных только по столбцу _id,

как я могу это исправить?

ошибка:

02-15 15:48:08.197: ERROR/AndroidRuntime(3043): android.database.sqlite.SQLiteException: no such column: idanmoshik1: , while compiling: DELETE FROM User WHERE USER_NAME=idanmoshik1

*User - это имя моего стола.

спасибо,

Moshik

Ответы [ 3 ]

3 голосов
/ 15 февраля 2010

Вы должны добавить одинарные кавычки (') вокруг chris и idanmoshik1, как это

getContentResolver().delete(myUri, "NAME='chris'", null);
2 голосов
/ 15 февраля 2010

Гораздо лучше, забудьте про экранирование кавычек и других тонкостей, используя

final int n = getContentResolver().delete(myUri, "NAME = ?", new String[] {"user's name"});
0 голосов
/ 15 февраля 2010

исправлено, необходимо изменить пункты where

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