Android SQLite更新查询显示错误

时间:2013-03-14 09:16:10

标签: android sqlite android-sqlite

我有一张桌子:

sdb.execSQL("create table if not exists userprofile (id integer primary key, profilename text, user text);");

我想在Android SQLite中更新profilename字段。

所以我使用了以下代码:

ContentValues cv= new ContentValues();
cv.put("user",et4.getText().toString());
String admin="user1";
sdb.update("userprofile", cv, "profilename = " + admin, null);

该表的profilename值为user1。但是当我执行此操作时,我正在

03-14 09:12:55.851: E/SQLiteLog(26616): (1) no such column: user1

请帮我解决问题。

提前致谢。

2 个答案:

答案 0 :(得分:1)

应该是 -

ContentValues cv= new ContentValues();
cv.put("user",et4.getText().toString());
String admin="user1";
sdb.update("userprofile", cv, "profilename = '" + admin +"'", null);

希望这对你有所帮助。

答案 1 :(得分:1)

尝试这样做:

sdb.update("userprofile", cv, "profilename = ?", new String[] {"user1"});

我推荐这种方法。占位符的使用解决了这样的问题。您的方法不起作用,因为您缺少单引号。