尝试在SQL中插入一个带有' 的数据,比如: I'm a boy
此时在向数据库中insert时就会出错!
解决方案是:写成如下方式:
insert into tab values(' I''m a boy') ;
后来由于需要将数据库进行迁移,需要读取数据后,然后重新写入数据,这个时候就需要将原语句中含有'的字段覆盖成''或者/',写了个方法转换一下;然后再调用就OK啦!!!!
代码如下:
public static String replace(String str)
...{
String result="";
String temp[]=str.split("'");
for(int x=0;x<temp.length;x++)
...{
System.out.println(temp[x]);
result+=temp[x]+"''";
}
return result.substring(0,result.lastIndexOf("'")-1);
}
然后再需要的时候调用就可以了
sql="insert into tab values ('"+rs.getString(1)"')";
connection.prepareStatement(sql.toString()).executeUpdate();
本文介绍了一种在SQL中处理含有特殊字符(如单引号)的方法,通过提供具体的代码示例来展示如何避免因特殊字符导致的插入错误,并给出了一个简单的字符串替换函数实现。
29

被折叠的 条评论
为什么被折叠?



