[置顶] android 数据库插入操作处理中文单引号 不处理会报语法错误

在项目中经常用到对数据的插入、删除等操作,有时候服务端返回的数据会带有中文单引号,这样直接插入会报语法错误,处理方法两种

第一种:

把所有单引号替换掉

 String regexp = "\'"; 

 String deleteSql = "delete from "
                    + DBConstants.DB_TABLE.TABLE_HISTORY + " where "
                    + DBConstants.HISTORY.HISTORY_KEYWORD + "='"
                    + keyword.replaceAll(regexp, "") + "'";

第二种

把中文单引号转为英文单引号,这个比较人性化

String deleteSql = "delete from "
                    + DBConstants.DB_TABLE.TABLE_HISTORY + " where "
                    + DBConstants.HISTORY.HISTORY_KEYWORD + "='"
                    + keyword.replaceAll(regexp, "'")+ "'";

 

只是一种小技巧而已  哈哈

 



String regEx = "[`~!@#$%^&*()+=|{}':;',//[//].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; 这么写,就可以过滤所有字符了

你可能感兴趣的:([置顶] android 数据库插入操作处理中文单引号 不处理会报语法错误)