使用撇号(')Android注册用户名

时间:2017-03-31 10:45:32

标签: android sqlite

我在Android上有一个用户必须注册的应用程序,他们必须介绍一个名字。问题是当用户在他的名字中引入apostrophe (')时(例如Satck'developers)。然后在应用程序中我遇到了数据库SQLite的问题。

  

UPDATE用户SET名称='othername'WHERE name ='Stack'developers'`)

这会导致SQLiteException。

如何在Android中管理这种情况?我怎么能不允许用户放置apostrophe (')

非常感谢你。

2 个答案:

答案 0 :(得分:2)

您需要转义保留字符以避免SQL注入。有内置的方法可以自动完成。

int update(SQLiteDatabase db, String originalName, String newName) {
    ContentValues values = new ContentValues();
    values.put("name", newName);
    return db.update("user", values, "name = ?", new String[]{originalName});
}

答案 1 :(得分:-1)

如果你不想允许'那么你需要在存储到db之前验证输入。像

这样的东西
<div id="demo">
  <child-component class="some-class"></child-component>
</div>