尝试在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);
}
... {
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();
connection.prepareStatement(sql.toString()).executeUpdate();