我正在尝试使用以下方式更新行:myDatabase.update(DATABASE_TABLE, cvUpdate, KEY_NAME + "=" + mName, null);
但我收到以下错误:
错误/数据库(282):使用UPDATE peopleTable SET person_name =?更新person_name = Bob时出错。 WHERE person_name =鲍勃
我正在使用以下代码尝试更新:
public void updateEntry(String mName) throws SQLException {
ContentValues cvUpdate = new ContentValues();
cvUpdate.put(KEY_NAME, mName);
ourDatabase.update(DATABASE_TABLE, cvUpdate, KEY_NAME + "=" + mName, null);
}
我看过其他似乎与这个问题相似的答案,但是我没有找到确定的解决方案。这似乎与变量有关,但我可能完全错了。
最佳答案
您没有将字符串用引号引起来。您最好这样做:
ourDatabase.update(DATEABASE_TABLE, cvUpdate, KEY_NAME + "= ?", new String[]{mName});
当您使用上述代码时,如果类型为字符串,它将自动将参数括在单引号中。