如何避免特殊字符SQLite Android

时间:2016-02-26 21:06:21

标签: android sqlite

我在Android中面临SQLite的问题,我知道解决方案必须简单,但我所做的并不起作用!!

body {
  text-align: center;
}
figure {
  display: inline-block;
  text-align: center
}

替换功能不起作用!!

4 个答案:

答案 0 :(得分:2)

使用update()将字符串映射到占位符,Sqlite将转义字符串,以便最终命令始终有效。

您应该始终为每个命令执行此操作。

答案 1 :(得分:1)

使用PreparedStatement,不要自己做引用,只是不必要的麻烦:

PreparedStatement pstmt = con.prepareStatement("UPDATE constacts SET name = ? WHERE phone = ?");
pstmt.setString(1, "foo")
pstmt.setString(2, '123")

答案 2 :(得分:1)

SQL不使用反斜杠进行转义。 在SQL字符串文字中,引号加倍,因此您需要将'替换为''

但是使用参数会更好:

    String query = "UPDATE contacts SET name = ? WHERE phone = ?";
    db.execSQL(query, new Object[]{ newname, phone });

答案 3 :(得分:0)

使用准备好的陈述。在调用sql命令之前,这会为您清理输入。

How do I use prepared statements in SQlite in Android?