更新:请参阅自我回答,“已修复,需要修改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
答案 0 :(得分:3)
您应该在chris
和idanmoshik1
周围添加单引号(')
getContentResolver().delete(myUri, "NAME='chris'", null);
答案 1 :(得分:2)
好多了,忘记使用
转义引号和其他细微之处final int n = getContentResolver().delete(myUri, "NAME = ?", new String[] {"user's name"});
答案 2 :(得分:0)
修复后,需要更改where子句