可能重复:
How to escape special characters like ' in sqlite in android
我正在使用表单在Android的SQLite数据库中存储一些值。如果任何字段包含字符'发生错误,所以我试图逃避它,但错误仍然存在。
这是我的代码:
public boolean createCalendar(String id, String name, String descr) {
try{
String newDescr = descr.replace("'", "\\'");
db.execSQL("INSERT INTO Calendar (id, name, description) VALUES " +
"('"+id+"','"+name+"','"+newDescr+"');");
...
}
}
这就是错误:
sqlite returned: error code = 1, msg = near "siksjs": syntax error, db=/data/data/com.pfc.app/databases/SSDB
android.database.sqlite.SQLiteException: near "siksjs": syntax error: , while compiling: INSERT INTO Calendar (id, name, description) VALUES ('43779fcb-3d8c-650b-b529-50810506375e','kdldlls','ddk \' siksjs');
我该如何存放?
谢谢!
答案 0 :(得分:0)
使用
p_query = "select * from mytable where name_field = ?";
mDb.rawQuery(p_query, new String[] { uvalue });
或者
String newDescr = descr.replaceAll("'", "''");