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

一记、、、