关于Android Sqlite语句注意事项一点
2012-11-08 18:02
295 查看
在写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;
}
一记、、、
一定不要把含有“ ‘ ”(单引号)的字段组合进去,不然的话你的程序很可能会崩掉。
如果你不知道你插入的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;
}
一记、、、
相关文章推荐
- 关于COMMIT和ROLLBACK语句的使用注意事项
- 关于Android中selector的一点注意事项
- 关于Java开发中使用Oracle数据库的一点注意事项
- 关于swiper分页的一点注意事项
- 关于使用READ TABLE语句的几点注意事项
- 在Mybatis中关于xml中sql语句的一些注意事项,再补充
- ABAP 筑基宝典(5) -- 关于使用READ TABLE语句的几点注意事项
- 关于使用READ TABLE语句的几点注意事项
- return 于try{}catch(Exception e){}finally{}语句结合使用的一点注意事项。
- 关于C#中switch语句的一点注意
- 关于使用Carbide编译及配置的一点注意事项
- 关于MySql中数据库、表的操作以及增删改查等一些SQL语句注意事项
- 关于使用READ TABLE语句的几点注意事项
- 在关于原生js获取getAttribute如果是src的一点注意事项
- 关于使用READ TABLE语句的几点注意事项...(原文来源于网络)
- 关于oracle inner join ,out join 的一点注意事项
- 关于使用READ TABLE语句的几点注意事项...(原文来源于网络)
- 关于split的一点注意事项
- return 于try{}catch(Exception e){}finally{}语句结合使用的一点注意事项
- 关于C++语句的几点注意事项