3

I have a following table:

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

I want to update profilename field in Android SQLite.

So I used the following code:

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

The table have profilename value as user1. But when I execute this I am getting

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

Please help me to resolve the problem.

Thanks in advance.

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 に答える