3

我有一个下表:

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

请帮我解决问题。

提前致谢。

4

2 回答 2

1

它应该是 -

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

希望这对您有所帮助。

于 2013-03-14T09:19:58.070 回答
1

尝试这样做:

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

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

于 2013-03-14T09:19:59.593 回答