//table details
public static final String TABLE_NAME_Details="details";
public static final String USERNAME="USERNAME";
public static final String PASSWORD="PASSWORD";
//update value
public boolean updatePassword(String LoggedUsername)
{
SQLiteDatabase db = null;
try {
db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(PASSWORD, "test");
if (db.isOpen()) {
db.update(TABLE_NAME_Details, values, USERNAME + "=" + LoggedUsername,null);
return true;
}
else
return false;
} catch (Exception e) {
Log.d("eEmp/DBUpdateUser ", e.toString());
return false;
}
}
我将用户名传递给updatePassword()方法并尝试使用" test"更改该用户的密码。
但它给了我例外:
android.database.sqlite.SQLiteException:没有这样的列:bvb(代码1): ,编译时:UPDATE详细信息SET PASSWORD =?在哪里USERNAME = bvb
bvb是我输入的用户名。
为什么会这样?
答案 0 :(得分:3)
使用引号
调用update方法 updatePassword("'bvb'");
或在方法
中更改此行 db.update(TABLE_NAME_Details, values, USERNAME + "='" + LoggedUsername+"'",null);