在Android中,为什么SQLite数据库不会更新?

She*_*don 1 java sqlite android

我正在尝试使用以下方法更新行:

myDatabase.update(DATABASE_TABLE, cvUpdate, KEY_NAME + "=" + mName, null);

但是我收到以下错误:

错误/数据库(282):使用UPDATE peopleTable SET persons_name =?更新persons_name = Bob时出错 人员名称=鲍勃

我使用以下代码来尝试更新:

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);

}
Run Code Online (Sandbox Code Playgroud)

我看过其他似乎与这个问题类似的答案,但我没有找到能够解决我遇到的问题的确定性问题.它似乎与变量有关,但我可能完全错了..

Chr*_*ris 5

你不是用引号括起你的字符串.你最好做这样的事情:

ourDatabase.update(DATEABASE_TABLE, cvUpdate, KEY_NAME + "= ?", new String[]{mName});
Run Code Online (Sandbox Code Playgroud)

当你使用上面的代码时,如果类型是一个字符串,它会自动将参数括在单引号中.