SQLite,无法删除列

时间:2010-02-15 15:57:47

标签: android sqlite

更新:请参阅自我回答,“已修复,需要修改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 个答案:

答案 0 :(得分:3)

您应该在chrisidanmoshik1周围添加单引号(')

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

答案 1 :(得分:2)

好多了,忘记使用

转义引号和其他细微之处
final int n = getContentResolver().delete(myUri, "NAME = ?", new String[] {"user's name"});

答案 2 :(得分:0)

修复后,需要更改where子句