在写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;
}
一记、、、