在写Android 程序中,我们经常会和Sqlite打交道,在拼构sql语句的时候请注意:
一定不要把含有“ ‘ ”(单引号)的字段组合进去,不然的话你的程序很可能会崩掉。
如果你不知道你插入的sql语句的某个字段是否包含单引号,则可以尝试用空格替代一下:
if(s.contains("\'")){
s = s.replaceAll("\'", ""); }另外 你的sql语句中某些特殊字符你将需要处理比如下面这些:
public static String sqliteEscape(String str){
if(null == str){ return ""; } str = str.replace("/", "//"); str = str.replace("'", "''"); str = str.replace("[", "/["); str = str.replace("]", "/]"); str = str.replace("%", "/%"); str = str.replace("&","/&"); str = str.replace("_", "/_"); str = str.replace("(", "/("); str = str.replace(")", "/)"); return str; }一记、、、